@widget_pro

Почему не возвращается токен в laravel?

У меня есть такой апи роут:
Route::post('/getToken',[\App\Http\Controllers\UserController::class,'getToken']);

В UserController есть метод, который должен возвращать юзера и его токен:
public function getToken(Request $request){
        $registration = $request->validate([
            'email' => 'required|string',
            'password' => 'required|string',
        ]);
        if (!Auth::attempt($registration)) {
            return response(['message' => 'failed']);
        }
        $user = User::find(1);
        $token = $user->createToken('Token Name')->accessToken;
        return response(['user' => Auth::user(), 'access_token' => $token]);
    }

Вот результат запроса в постмане:
{
    "user": {
        "id": 18,
        "name": "newNmae",
        "email": "test3@gmail.com",
        "email_verified_at": null,
        "created_at": "2022-07-02T13:17:12.000000Z",
        "updated_at": "2022-07-02T13:17:12.000000Z"
    },
    "access_token": {
        "name": "Token Name",
        "abilities": [
            "*"
        ],
        "tokenable_id": 1,
        "tokenable_type": "App\\Models\\User",
        "updated_at": "2022-07-02T13:35:31.000000Z",
        "created_at": "2022-07-02T13:35:31.000000Z",
        "id": 12
    }
}

То есть юзер нашелся, а токен не вернулся. В чем проблема?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
iMedved2009
@iMedved2009
Не люблю людей
Если вы взглянете на модель PersonalAccessToken вы увидите следующий код
/**
     * The attributes that should be hidden for serialization.
     *
     * @var array
     */
    protected $hidden = [
        'token',
    ];

Что означает прятать атрибут токен
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы