Я работаю над проектом с laravel и lucadegasperi/oauth2-server-laravel с паролем большого типа. Все работает нормально, и все мои конечные точки API защищены oauth2.Laravel with OAuth2 issue
У меня только один API, который всегда должен возвращать ответ данных JSON, но этот ответ зависит от того, вошел пользователь или нет. А так как проверка Auth обрабатывается в Middleware «OAuthExceptionHandlerMiddleware», если пользователь не зарегистрирован в запросе останавливается и не доходят до моего контроллера и я получаю следующий ответ:
{
"error": "invalid_request",
"error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter."
}
Что я надеетесь добиться того, чтобы быть в состоянии обработать запрос внутри моего контроллера только один API конечной точки:
- Если пользователь не вошел в систему, возвращают нормальный ответ + другие данные, а не ответ «Invalid Request».
- Если пользователь выполнил вход в систему, возвратите нормальный ответ.
Благодарим за помощь в достижении вышеуказанного.
Да, это вариант, но если я добавлю исключение, я не могу проверить, зарегистрирован ли пользователь или нет, поскольку промежуточное ПО проверки подлинности не срабатывает, то, что я ищу, - это способ сделать проверку oauth2 внутри моего контроллера и я не могу найти какой-либо пример того, как достичь этого. – fadz
Auth все равно должен быть в сеансе. does Auth :: user() не делает то, что вам нужно? –
Я добавил исключение из своего промежуточного программного обеспечения и попробовал Auth :: user(), но он возвратил NULL в обоих сценариях, если пользователь вошел в систему, и если пользователь не вошел в систему – fadz