我将要创建单点登录界面我的应用程序。 其他应用程序发送AJAX POST请求和我认证用户,并返回一个响应。 会话Cookie是beeing集,但它是不加密的。
相关的代码
$user = User::where('email', $email)->first();
if ($user) {
Auth::login($user);
return response("OK", 200);
}
在Kernel.php我的“API”的一部分
'api' => [
'throttle:60,1',
'bindings',
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\App\Http\Middleware\EncryptCookies::class,
],
我的路线(没有额外的中间件)
Route::post(
'/auth-request', [
'uses' => 'UserController@post_authenticateRequest',
'as' => 'authrequest'
]);
在Kernel.php的EncryptCookies类似乎并不在AJAX的POST请求任何影响 - 但只适用于会话的一部分。 当我手动添加像饼干
response("OK", 200)->cookie("mysession", Session::getId(), 60);
它是加密的!
了,但没有加密 - 当我完全删除EncryptCookies在Kernel.php两个“API”和“网络”,从AJAX请求被正确地加载创建的会话。
如何让AJAX会话cookie beeing加密? 我是否需要任何其他中间件?
谢谢你的帮助。