После того, как вы вникли в исходный код laravel, я обнаружил, что маркерная защита сейчас бесполезна. Все auth передаются через промежуточное программное обеспечение, оттуда вы можете видеть, что он вызвал Auth::guard($name)->guest()
, чтобы проверить, вошел ли пользователь в систему. \Auth::guard
получит надлежащую охрану, указанную вами в маршруте. Скажем, это TokenGuard. В \ Illuminate \ Auth \ TokenGuard проверьте функцию user
, чтобы увидеть, как TokenGuard
получить пользователя. Во-первых, он получит входной параметр с именем api_token
. Затем он позволит провайдеру, который может быть красноречивым, как настройка по умолчанию для поиска значения в базе данных. Если какое-либо значение найдено, создается новый пользовательский экземпляр. Если не существует значения входного имени api_token
, то некоторые другие варианты будут опробованы:
- bearerToken, что значение заголовка авторизации HTTP, который начинается с: предъявителем.
- пароль, который прошел через HTTP-заголовок: PHP_AUTH_PW.
Ключ для соответствия в модели указан защищенным имуществом storageKey
.
Таким образом, защита маркера используется для реализации стороннего токена доступа к API, а не к временному токену доступа, который хранится в сеансе.
Возможно, вам будет так любезно опубликовать фрагмент кода, который вы написали? –
Я хочу реализовать защиту маркера api, предоставляемую в laravel 5.2.Я хочу, чтобы процесс реализовал аутентификацию с помощью Api guard.The основной документ не объясняет это много –
Как я уже сказал, покажите свой код –