Swagger Authorization:bearer <token>

本文介绍如何在Laravel项目中实现Bearer Token认证,并通过l5-swagger生成API文档。主要内容包括添加SecurityScheme定义、配置接口认证、创建并注册中间件、生成及访问API文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、添加如下代码

   /**
    *
    * @SWG\SecurityScheme(
    *     securityDefinition="Bearer",
    *     type="apiKey",
    *     in="header",
    *     name="Authorization"
    * )
    *
    */

2、在需要认证的接口添加如下代码

   /**
    *
    * @SWG\Get(
    *     path="api/user/info",
    *     tags={"User"},
    *     summary="User Info",
    *     description="Get User Info",
    *     security={
    *          {
    *              "Bearer":{}
    *          }
    *      },
    *     @SWG\Response(
    *          response="200",
    *          description="请求成功",
    *     )
    * )
    *
    */

3、创建中间件

class SwaggerFix
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (strpos($request->headers->get("Authorization"),"Bearer ") === false) {
            $request->headers->set("Authorization","Bearer ".$request->headers->get("Authorization"));
        }
        return $next($request);
    }
}

4、在Kernel.php添加中间件

protected $routeMiddleware = [
    //最好放在第一个位置
    'swfix' => \App\Http\Middleware\SwaggerFix::class,
]

5、在路由文件中设置此中间件

$api->group([ 'middleware' => ['api.auth','swfix'] ], function ($api) {

}

6、生成API文档
用的laravel框架,只需执行php artisan l5-swagger:generate方法即可

7、打开本地配置的Api文档地址,如:127.0.0.1/api/documentation
token

auth

传送门

Bearer Authentication
oauth2 + passport = Bearer
Authorization:Bearer

转载于:https://www.cnblogs.com/littleBit/p/9055455.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值