the_goldmayer
@the_goldmayer
Кот.

Как правильно использовать Laravel Sanctum?

public function login()
    {
        $validator = Validator::make(request()->all(), [
            'email' => 'required|email|max:255',
            'password' => 'required|string',
        ]);

        if ($validator->fails()) return response()->json($validator->errors()->getMessages());

        $user = User::where('email', request()->email)->first();

        if (! $user || ! auth()->attempt(request()->only(['email', 'password']))) {
            return response()->json(['message' => 'Unauthorized'], 401);
        }
        
        $token = $user->createToken('token-name');
    }


Вопрос 1: А надо ли при каждой авторизации пользователя создавать токен? Может правильнее будет посмотреть какие у него уже есть токены и при наличии возвращать уже существующий токен?

Вопрос 2: Почему при создании токена мы не получаем дату истечения срока токена?

Расскажите, пожалуйста, как грамотно реализовать авторизацию используя Laravel Sanctum.
  • Вопрос задан
  • 900 просмотров
Решения вопроса 1
@Kostik_1993
Fullstack Web Developer | PHP | Laravel | Vue.js
1. Нужно делать так чтобы не было этих самых при каждой авторизации. Один раз вошли и запомнили. Это не oAuth2. Если вам нужен oAuth2 то используйте Passport
2. Потому что токены вечные. Их протухание, обновление и все что есть в oAuth2 в Sanctum не предусмотрено.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы