Как использовать Laravel Passken Token System - PullRequest
1 голос
/ 04 апреля 2020

Я планирую использовать Laravel Passport System для ANGULAR 6 API. Установлено в соответствии с документацией.

Но у меня есть небольшая путаница. Пожалуйста, попробуйте разрешить его.

1. Как предоставить токен?

Это правильный метод?

ИЛИ Кодирование LIKE - правильный метод?:

$request->request->add([
            'username' => $request->email,
            'grant_type' => 'password',
            'client_id' => env('PASSWORD_CLIENT_ID'),
            'client_secret' => env('PASSWORD_CLIENT_SECRET'),
            'scope' => '',
]);
// forward the request to the OAuth token request endpoint and Return Token

$res = Route::dispatch(request()->create('oauth/token', 'POST', $this->loginCredentials($request)));
$this->api_response = json_decode($res->getContent());
return response()->json(['token' => $this->api_response,'usersDetail' =>  $user], 200);

Какой метод нужно использовать и почему, пожалуйста, разработайте его .?

2. Как работать с Refre sh Token System для Angular?

Как и в Refre sh (кнопка мыши Refre sh), необходимо вызвать Laravel API? Как это должно быть? Пожалуйста, уточните коды Laravel и Angular.

, пожалуйста, ответьте на этот вопрос отдельно. ищу хороший ответ !!!

1 Ответ

1 голос
/ 04 апреля 2020

Как предоставить токен? Это правильный метод? ИЛИ Кодирование LIKE - это правильный метод?

Используется другой грант. Правильный метод в соответствии с потребностями вашего приложения. Перед внедрением OAuth вам необходимо узнать о типах грантов:

Грант кода авторизации

Грант кода авторизации должен быть очень знаком, если вы когда-либо входили в приложение с помощью Facebook или Google. account.

Неявное предоставление

Неявное предоставление аналогично предоставлению кода авторизации с двумя отличиями.

Предназначено для использования клиентами на основе агента пользователя. (например, одностраничные веб-приложения), которые не могут хранить секрет клиента, поскольку весь код приложения и хранилище легко доступны.

Во-вторых, вместо сервера авторизации, возвращающего код авторизации, который обменивается на токен доступа сервер авторизации возвращает маркер доступа

Предоставление учетных данных владельца ресурса

Это предоставление является отличным пользовательским интерфейсом для доверенных сторонних клиентов как в Интернете, так и в собственных приложениях для устройств.

Предоставление учетных данных клиента

Самый простой из всех l грантов OAuth 2.0, этот грант подходит для межмашинной аутентификации, где не требуется указывать c разрешение пользователя на доступ к данным.

Refre sh предоставление токена

Доступ к токенам со временем истекает; однако некоторые разрешения предоставляют токен refre sh, который позволяет клиенту получить новый токен доступа без необходимости перенаправления пользователя.


Какой грант OAuth 2.0 следует использовать?

Грант - это метод получения токена доступа. Решение о том, какие гранты реализовать, зависит от типа клиента, который будет использовать конечный пользователь, и опыта, который вы хотите для своих пользователей.


Как обрабатывать Refre sh Система токенов для Angular?

Срок действия маркеров доступа истекает; Клиент отправляет запрос POST со следующими параметрами тела в /oauth/token:

  • grant_type со значением refresh_token
  • refresh_token со ссылкой ref sh token
  • client_id с идентификатором клиента
  • client_secret с секретом клиента
  • scope с разделенным пробелами списком запрошенных разрешений области действия. Это необязательно; если не отправлено, будут использованы исходные области, в противном случае вы можете запросить сокращенный набор областей .
$http = new GuzzleHttp\Client;

$response = $http->post('http://your-app.com/oauth/token', [
    'form_params' => [
        'grant_type' => 'refresh_token',
        'refresh_token' => 'the-refresh-token',
        'client_id' => 'client-id',
        'client_secret' => 'client-secret',
        'scope' => '',
    ],
]);

return json_decode((string) $response->getBody(), true);

или вы можете использовать Angular HTTPInterceptor для обновления токена. Перехватчики HTTP используются для добавления пользовательских логи c для ведения журнала, изменения ответа, обработки ошибок, но одним из распространенных случаев является автоматическое присоединение аутентификационных данных к запросу и обновление токена sh для поддержания активности сеанса пользователя.


Ссылка:

...