Аутентификация с помощью oauth2 в приложении nuxt. Как это сделать правильно? - PullRequest
0 голосов
/ 08 марта 2019

В качестве бэк-энда я использую Laravel (5.7) с пакетом Laravel Passport.В качестве внешнего интерфейса я использую nuxt (2.4.x) в «универсальном» режиме.

Мне нужно выполнить аутентификацию моего клиента (я имею в виду браузерный).Я вижу, что есть модуль - @ nuxtjs / auth .Согласно их документации я должен предоставить client_id и client_secret для конфигураций.Но не небезопасно ли это?Я не должен держать, по крайней мере, client_secret на стороне клиента.Или модуль auth хранит эти данные на стороне сервера?

Следующий пункт, который я обнаружил, - это модуль @ nuxtjs / proxy .Согласно одному из ответов на вопросы GitHub , я могу передать через него некоторые заголовки.Вопрос тот же: он хранит учетные данные только на стороне сервера или это небезопасный способ?

В конце концов, я решил выполнить аутентификацию по отдельным маршрутам в Laravel, что приведет кделать внутренние запросы с добавлением client_id и client_secret данных на стороне API.Это правильный способ сделать аутентификацию?

Также, как я понял, есть несколько способов процесса oauth2: Код авторизации , Неявный РесурсУчетные данные пароля владельца и Учетные данные клиента .Ситуация выше написана для первого из описанных типов.Как я понял, nuxt и Laravel Passport используют тип Пароль владельца ресурса .Но почему существует client_secret (в документации модуля auth), когда он должен предоставлять только client_id ?Как мне выполнить аутентификацию с помощью Laravel Passport?

Возможно, я копаю не в ту сторону.Может быть, у вас есть лучшее решение?

...