Войти через API (используя паспорт) в мультитенанте (пакет hyn) laravel - PullRequest
0 голосов
/ 12 февраля 2019

Это ошибка:

RuntimeException: клиент личного доступа не найден.Пожалуйста, создайте один.в файле /var/www/html/pharmacy/vendor/laravel/passport/src/ClientRepository.php в строке 94

Это моя функция входа в систему:

 public function login(Request $request)
    {
        $request->validate([
            'email' => 'required|string|email',
            'password' => 'required|string',
            'remember_me' => 'boolean'
        ]);
        $credentials = request(['email', 'password']);
        if (!Auth::attempt($credentials))
            return response()->json([
                'message' => 'Unauthorized'
            ], 401);
        $user = $request->user();
        $tokenResult = $user->createToken('Personal Access Token');
        $token = $tokenResult->token;
        if ($request->remember_me)
            $token->expires_at = Carbon::now()->addWeeks(1);
        $token->save();
        return response()->json([
            'access_token' => $tokenResult->accessToken,
            'token_type' => 'Bearer',
            'expires_at' => Carbon::parse(
                $tokenResult->token->expires_at
            )->toDateTimeString(),
            'name' => Auth::user()->name,
            'email' => Auth::user()->email,
        ]);
    }

Этомой маршрутный файл api.php:

Route::group([
    'prefix' => 'auth'
], function () {
    Route::post('login', 'User\ParticipantAuth@login');


    Route::group([
        'middleware' => 'auth:api'
    ], function() {
        Route::get('logout', 'User\ParticipantAuth@logout');
        Route::get('user', 'User\ParticipantAuth@user');
    });
});

Я просто хочу войти через API пакета паспорта в мультитенант

Я скопировал всю миграцию, созданную пакетом паспорта, из database/migration и поставилэто в папку database/migration/tenant, в которой сохраняются другие миграции.

1 Ответ

0 голосов
/ 12 февраля 2019

Прежде чем ваше приложение сможет выдавать токены личного доступа, вам необходимо создать клиент личного доступа:

Вам необходимо создать токен личного доступа

php artisan passport:client --personal
...