gpt4 book ai didi

php - 缓存 API 用户凭据

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:11 24 4
gpt4 key购买 nike

我在每个 HTTP 请求上都运行了这段代码:

if ($request->header('Authorization')) {
$token = $request->header('Authorization');
$user = User::where('api_token', $token)->whereRaw("`api_token_expires` >= CURDATE()")->active()->first();
if ($user) {
$GLOBALS['user_id'] = $user->id;
$GLOBALS['is_admin'] = $user->admin;
return $next($request);
}
}

如您所见,我正在为每个请求访问数据库以查找有效的 API token 。

处理此问题的更有效但安全的最佳做法是什么?我应该看看 MySQL 缓存吗? Redis 还是其他?

编辑:我没有使用 session ,这是一个无状态的 API。

最佳答案

您可以先让 api 用户授权,然后使用 session token 进行响应。

然后他们可以为每个下一个请求使用这个 session token 。

您可以将这些 session 存储在 $_SESSION 变量、磁盘文件或快速数据库(如 Redis)中。

为了安全地执行此操作,我会自动删除旧 session ,根据其原始 IP 检查 session token ,并为 api 强制使用 https。

关于php - 缓存 API 用户凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41760522/

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