Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здраствуйте!
Есть сайт X. На нем есть ссылка на сайт Y.
При нажатии на этой ссылки, сайт X используя Laravel Passport создает access_token.
Этот access_token, вместе с другими данными аутентифицированного пользователя, отправляет методом POST сайту Y используя API по ссылке /get-token-cpc.
Сайт Y, в routes/api.php имеет такие маршруты:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/get-token-cpc', [AuthCPCController::class, 'authenticate_user_cpc'])->name('authenticate_user_cpc');
В методе 'authenticate_user_cpc' из контроллера AuthCPCController::class, добавляються данные в сессию полученные с сайта X.
session([
'access_token' => $token_data['access_token'],
'token_type' => $token_data['token_type'],
'expires_at' => $token_data['expires_at'],
]);
Для того чтобы убедиться что данные добавились в сессию, в AuthCPCController, в конце метода 'authenticate_user_cpc', добавил лог.
Log::info('In API Session has access_token '.session()->has('access_token'));
При нажатиий на ссылку с сайта X, переходим в сайт Y и в логах записываеться что данные добавились в сессию.
Также Сайт Y, в routes/web.php имеет такой маршрут:
Route::get('/', [PageController::class, 'index'])->name('index');
Проблема в том что, в конструкторе контроллера PageController, я немогу получить данные из сессий, которые были полученные по API.
Содержимое контруктора PageController:
public function __construct(){
$session_has_access_token = session()->has('access_token');
dump($session_has_access_token);
}
В результате, dump выводит null.
Как использовать полученные данные из API в контроллере из web ?
Страницы 1