#php #laravel #jwt #jwt-auth
#php #laravel #jwt #jwt-аутентификация
Вопрос:
Я новичок в Laravel, я создал страницу входа в систему для своего серверного приложения (оно работает нормально), а затем я создал документацию JWT для установки и начала использования (https://jwt-auth.readthedocs.io/en/develop /). В моих контроллерах я использовал после:
public function __construct()
{
$this->middleware('auth:api', ['except' => ['login']]);
}
Теперь каждый раз, когда я пытаюсь ввести свой тот же логин, я не могу.
Как я могу теперь ввести свой логин с помощью JWT?
Комментарии:
1. Сегодня вы можете сделать
$this->middleware('auth')->except(['login'])
Ответ №1:
Если вы используете Laravel 8, новый рекомендуемый маршрут — использовать функцию Sanctum от Laravel:
https://laravel.com/docs/8.x/sanctum
Для этого, если вам нужны логины с отслеживанием состояния, вы просто отправляете сообщение на любой контроллер, который затем выполняет вызов Auth::attempt следующим образом:
class AuthController extends Controller
{
/**
* Store a newly created resource in storage.
*
* @param Request $request
* @throws ValidationException
*/
public function store(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
]);
$credentials = $request->only('email', 'password');
if (!Auth::attempt($credentials, true)) {
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
}
}
}
Недавно я успешно настроил свою систему входа в систему на React, используя этот пакет:
https://github.com/koole/react-sanctum
Для лиц без гражданства вы можете ознакомиться с документацией здесь:
https://laravel.com/docs/8.x/sanctum#api-token-authentication
Комментарии:
1. Я не могу использовать Sanctum, я должен использовать аутентификацию JWT. Моя проблема в том, что я не знаю, как войти в свой логин после того, как я использовал документацию по аутентификации JWT.
2. Где ввести свой логин?