CreateFreshAPIToken или токен личного доступа. И работает ли CreateFreshAPIToken с AJAX?

Я делаю веб-приложение на основе API. Он будет содержать различных пользователей, таких как обычные пользователи, администраторы с веб-страницами с таблицами для обновления, удаления, показа материала. Там будет очевидно много страниц, и доступ будет зависеть от области действия пользователя. Я запутался и застрял в точке, которая:

Должен ли я генерировать личный токен доступа с областью действия каждый раз, когда пользователь входит в систему, и использовать ее для проверки группы пользователей (если она имеет разрешение или нет) для предоставления доступа к веб-страницам и для выполнения некоторых запросов.

ИЛИ ЖЕ

Должен ли я использовать CreateFreshApiToken Middleware для запросов, и я должен просто проверить группу пользователя при входе в систему, чтобы дать ему доступ к некоторым веб-страницам.

Я надеюсь, вы поняли, что я пытаюсь сказать.

А промежуточное ПО CreateFreshApiToken прикрепляет файл cookie laravel_token к исходящим ответам. Если я использую AJAX, это работает? Если нет, значит ли это, что мне всегда придется передавать токен доступа с запросом?

1

Решение

Я хотел бы перейти ко второму сценарию и использовать промежуточное программное обеспечение CreateFreshApiToken, поскольку области в определенном смысле подчинены группам пользователей / правам пользователей / ролям пользователей в вашем приложении.

Например, пользователь может иметь права размещать и просматривать заказы после входа в приложение. Но разработчики, например, мобильного приложения, использующего ваш API, могут предоставить пользователям, входящим в это приложение, права только для просмотра заказов, т.е. orders.view Объем, а не права на размещение заказов. Сравните это, например, с Google API. Как пользователь Gmail, у вас есть права на чтение и удаление сообщений электронной почты и т. Д. Но когда вы разрабатываете приложение, использующее API Gmail, вы можете решить, что приложению нужны только и будут запрашивать у пользователя только те области, которые необходимы для читать электронные письма.

Поэтому управление всем уровнем авторизации в приложении Laravel с помощью областей очень тонкое. В большинстве случаев лучше разделить уровень авторизации ваших приложений (роли пользователей, права и т. Д.) С уровнем авторизации вашего API (области).

Промежуточное программное обеспечение CreateFreshApiToken предназначено для использования вашего API с JavaScript и AJAX. laravel_token будет прикреплен в виде файла cookie к каждому запросу AJAX после первого запроса GET, сделанного для веб-маршрута после входа в систему (запрос к /home создается автоматически лесами Laravel Auth после входа в систему). Описание можно найти в этой части паспортной документации: https://laravel.com/docs/5.4/passport#consuming-your-api-with-javascript

Персональные токены доступа можно рассматривать как ключи API. Потребители API могут использовать этот ключ для авторизации с вашим API, не проходя поток OAuth2. Вам нужно будет создать прокси из вашего JavaScript-приложения в вашем API, чтобы делать запросы с этим токеном, что было бы очень странно.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]