Как мне обрабатывать oauth в Nuxt с отдельным сервером API?

В настоящее время у меня есть два отдельных приложения

  1. Фронтенд (Nuxt)
  2. Бэкенд (Голанг)

На серверной части я использую стороннюю библиотеку под названием гот, а в качестве провайдера использую Facebook. Все отлично работает на бэкэнде, но я не понимаю, как это сделать на интерфейсе, который находится на стороне Nuxt.

Так что технически на бэкэнде будет два URL-адреса.

 /auth/facebook

/auth/facebook/callback

Как только все будет правильно, я получу объект из facebook на стороне сервера, который представляет собой API, написанный на Golang.

 data: {
         RawData: {
             email: "[email protected]",
             first_name: "John",
             id: "123123",
             last_name: "Grave",
             name: "John Grave",
             picture: {
                 data: {
                     height: 50,
                     is_silhouette: true,
                     url: "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=13123123&height=50&width=50&ext=1553079619&hash=AeTX5RW5K_avWLbI",
                     width: 50
                 }
             }
         },
         Provider: "facebook",
         Email: "[email protected]",
         Name: "John Grave",
         FirstName: "John",
         LastName: "Grave",
         NickName: "John Grave",
         Description: "",
         UserID: "123123",
         AvatarURL: "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=2312802522337124&height=50&width=50&ext=1553079619&hash=AeTX5RW5K_avWLbI",
         Location: "",
         AccessToken: "EAAIuR3NSCPwBAEcp2jskHuUCzdWLB97Aq99nCV5HuieVVz8xGfJ6exAZDZD",
         AccessTokenSecret: "",
         RefreshToken: "",
         ExpiresAt: "2019-04-19T15:52:59.895655+08:00"
     },
     status: 200
 }

Предположим, что на бэкенде все работает нормально.

Единственное, что я мог придумать, это вызвать его методом (сторона Nuxt)

export default {
  methods: {
    facebookLogin() {
      window.location.href = `http://localhost:8080/auth/facebook`
    }
  }
}

Это просто перенаправит на

http://localhost:8080/auth/facebook/callback?code=AQAaq9GYcGAnQ9wUCDAd5BFRHxMRjqGFR0J6zjGtYpD-

Каковы правильные шаги, которые мне следует предпринять для связи с серверным API OAuth?

Спасибо!

Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
API ввода вопросов - это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки...
2
0
640
1

Ответы 1

Привет @sinusGob, вы можете использовать этот плагин аутентификации nuxt

См. документы. https://auth.nuxtjs.org/reference/providers/facebook

Спасибо.

Другие вопросы по теме