Laravel 5.5 API только для сторонних приложений

Я создаю приложение SPA с Vue.js (будет храниться на удаленном сервере), и я не понимаю, что мне следует использовать.

Сначала я рассматривал возможность использования Passport, но не понимаю, как сделать API с Passport только для 1-й стороны. Также я не понимаю, как сделать его достаточно безопасным, если мне нужно отправить на сервер мои client-secret и client-id.

Затем я прочитал больше о JWT, но для моих токенов нет областей действия и нет токенов обновления. То есть если кто-то украл токен из localStorage, то он получит доступ к этому пользователю навсегда.

И еще один вопрос о доступе к токену и API. Я много читал о разном сроке действия токена, когда это зависит от его важности. Это означает, что токен для смены пароля должен быть действителен в течение 5 минут, а токен для чтения некоторой информации должен быть действителен в течение 6 месяцев. Правильно ли это и как это сделать?

Насчет JWT или Passport — что мне тогда использовать?


person Alexxosipov    schedule 28.03.2018    source источник


Ответы (1)


Если вы получаете доступ к каталогу API из клиента (используя angular/react/vue js..), я предлагаю вам использовать Passport. в паспорте есть опция вызова Password Grant Tokens , поэтому пользователь должен ввести учетные данные пользователя, и он сгенерирует токен (вы можете настроить время жизни токена), а когда он истечет, вы сможете обновить его. И да, если кто-то украл ваш токен, он сможет получить доступ к вашим данным.

Прочтите это, если хотите узнать больше: https://stackoverflow.com/a/34983109/801448

person Supun Praneeth    schedule 28.03.2018