Как я могу надежно хранить represh_token на фронте при использовании Laravel/Passport?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как я могу надежно хранить represh_token на фронте при использовании Laravel/Passport?

Сообщение Anonymous »

Я работаю над потоком OAUTH 2.0, используя грант кода авторизации с PKCE, включающий два локальных сервера:

[*]https://sso-ideshipy.test (sso server)
< li>https://cookie-1.test (web web) li/li/li/li> li/li> li/li> li/li/li> li/li> li/li/li> /> Что я реализовал:
Frontend перенаправляет пользователя для авторизации, а затем вызывает обратно в /аут/Callback.
В обратном вызове я обмениваюсь кодом авторизации на доступе и обновления с использованием выделенного/oauth/tokens endpoint. /> Laravel отвечает: < /p>

Код: Выделить всё

{
"access_token": "...",
"refresh_token": "...",
"expires_in": "..."
}
Я не хочу выставлять replesh_token JS, поэтому я решил сделать Custom/Oauth/Tokens конечная точка:
$response = Http::asForm()->post(config('services.sso.host').'/oauth/token', [
'grant_type' => 'authorization_code',
'client_id' => $request->get('client_id'),
'redirect_uri' => $request->get('redirect_uri'),
'code' => $request->get('code'),
'code_verifier' => $request->get('code_verifier'),
]);

$data = $response->json();
$minutes = 60 * 24 * 30;
$cookie = cookie(
'refresh_token',
$data['refresh_token'],
$minutes,
null,
null,
true,
true,
false,
'Lax'
);

return response()->json([
'access_token' => $data['access_token'],
'expires_in' => $data['expires_in'],
])->cookie($cookie);
< /code>
В основном, теперь SSO Server будет обмениваться кодом авторизации на токены JWT. Но это не сработало из -за ошибки CSRF.


Подробнее здесь: https://stackoverflow.com/questions/795 ... ravel-pass
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»