首页 > 解决方案 > 如何将 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,但我无法找到该中间件来尝试更改其配置。

标签: phplaravelapilaravel-authenticationlaravel-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 获取令牌


推荐阅读