Laravel Паспорт Как управлять клиентами из php кода - PullRequest
0 голосов
/ 17 марта 2020

Как добавить / перечислить / удалить клиентов паспорта из php кода?

Мне известны только способы с помощью команды artisan или JSON api, но я не могу выполнять команды, когда я обрабатываю запрос, и я не хочу делать еще один запрос к JSON api.

Существуют ли какие-либо php функции, которые выполняют точно так же, как: GET /oauth/clients POST /oauth/clients et c ..

Если нет, то, возможно, я делаю что-то не так, поэтому позвольте мне объяснить, что я пытаюсь сделать:

Мое приложение имеет как веб-интерфейс, так и android интерфейс приложения. Я хочу создать API для своего приложения android, поэтому я решил использовать Passport.
Однако Passposrt выглядит как нечто, предназначенное для ситуации, когда пользователь должен сам управлять своими клиентами, а это не то, что мне нужно.
На самом деле мне нужен ровно один паспортный клиент для одного пользователя.
Так что мне пришла в голову мысль, что когда пользователь вводит электронную почту и пароль в приложении android, приложение отправит запрос на сервер, а сервер вернется готовым для использования паспортного токена, поэтому мое приложение сможет выполнять дальнейшую работу.

Какой-то псевдокод:

public function fromAppLogin(Request $request)
{
    $credentials = $request->only('email', 'password');

    if (Auth::attempt($credentials)) {
        // Authentication passed...

        if(user has 0 clients)
        {
            create client
        }

        $client = get client for current user;

        return response($client->getToken());
    }

    return response("error");
}

Но здесь мне нужны php методы для создания клиентов паспорта.

РЕДАКТИРОВАТЬ: я мог напрямую редактировать таблицы базы данных паспорта, но это звучит как плохое решение .

1 Ответ

0 голосов
/ 17 марта 2020

На самом деле, мне не нужно управлять клиентами из php кода. Мне нужен только один клиент, клиент с предоставлением пароля.

Я могу создать маршрут, который сгенерирует маркер доступа для пользователя, передав его адрес электронной почты и пароль, как в этом примере: https://github.com/ProgrammationAndroid/Laravel-Passport-Android

...