php - 如何将 api_token 参数更改为一些自定义参数,如 api_key 或 key
问题描述
我有一个使用 API 令牌身份验证的 Laravel 应用程序。默认情况下,用户需要将api_token
参数作为 URL 的一部分传递,但我想更改api_token
为自定义名称参数,例如api_key
.
目前完整的 URL 如下所示:
https://www.example.com/api/v2/?api_token=something&action=balance
但是我希望它看起来像下面这样:
https://www.example.com/api/v2?api_key=something&action=balance
或者
https://www.example.com/api/v2?key=something&action=balance
我的 API 路由正在使用一个名为 的中间件auth:api
,但我无法找到该中间件来尝试更改其配置。
解决方案
您可以简单地创建自己的中间件
public function handle($request, Closure $next)
{
$token = request('key'); //it can be anything
if ($token != 'abc') { // this value can be static or can be get from database
return response([
'error' => 2,
'message' => ["Access Denied"]
]);
}
return $next($request);
}
在这里你可以匹配令牌并允许他们特定的请求
注意:它将适用于 url 参数而不是 headers 令牌,您需要从 header 获取令牌
推荐阅读
- unreal-engine4 - UE4 ALS v4 如何使用带有曲线的动画蒙太奇?
- ios - 在 SwiftUI 中自定义警报
- mecab - 无法确定 MeCab 的输出字符编码
- ag-grid - ag-grid 的性能问题
- java - 是否有与 maven-publish Gradle 插件的 publishToMavenLocal 任务等效的 Gradle
- c++ - cmake找不到提升
- java - 你如何检查一个数字是否在Java列表中(没有给定参数)
- javascript - 如何从数组中返回以逗号分隔的值?
- java - 在 Java 中使用 .pfx 证书解密文件
- nginx - 为什么 NGINX 会出现 504 网关超时错误?