gpt4 book ai didi

session - Laravel - 使用 session token 进行身份验证

转载 作者:行者123 更新时间:2023-12-03 18:38:27 24 4
gpt4 key购买 nike

登录时,我以 JSON 形式返回用户对象 + session token ,以便可以对连接到我的应用程序的移动设备进行身份验证。

但是,我很难理解如何仅使用他的 session ID 对用户进行身份验证?

登录后,移动设备会在每次请求时发送 session token ,这意味着我需要以某种方式检查它是否是同一用户(使用自定义身份验证过滤器)。

我该怎么做?

最佳答案

您可能有一张用于保存 token 的表
在 routes.php 中添加过滤器

Route::group(array('before' => 'auth'), function() { ... })
在filters.php中,您可以在数据库中搜索 token ,如果不存在,则返回无访问响应
Route::filter('auth', function () {

$input_token = Input::get('token');

if (!empty($input_token)) {
$validator = Validator::make(
['token' => $input_token],
['token' => 'token']
);
if (!$validator->fails()) {

$token = Token::where('hash', $input_token)->first();

if ($token) {

$user = User::find($token->user_id);

if ($user) {

Auth::login($user);
return;

}
}
}
}

$response = Response::make(json_encode([
'error' => true,
'messages' => [
Lang::get('errors.NO_ACCESS')
]
]), 200);

$response->header('Content-Type', 'application/json');

return $response;
});

关于session - Laravel - 使用 session token 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23247873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com