【问题标题】:Sending a header From swagger API从 swagger API 发送标头
【发布时间】:2020-07-10 10:42:06
【问题描述】:

我在 Laravel 7 中使用 Swagger,我想使用 jwt 来验证用户。但是当我尝试对用户进行身份验证时,我需要在请求中发送一个令牌。

这是我的控制器方法:

 /**
 * Get the authenticated User.
 *
 * @return \Illuminate\Http\JsonResponse
 * 
 * @OA\Post(
 *     path="/api/auth/user",
 *     @OA\Response(response="200", description="Registering a new User."),
 *     @OA\RequestBody(
 *         @OA\MediaType(
 *             mediaType="application/json",
 *             @OA\Schema(
 *                 @OA\Property(
 *                     property="authentication",
 *                     type="string"
 *                 ),
 *                 example={"authentication": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMjcuMC4wLjE6ODAwMFwvYXBpXC9hdXRoXC9sb2dpbiIsImlhdCI6MTU4NTUyNzA5MSwiZXhwIjoxNTg1NTMwNjkxLCJuYmYiOjE1ODU1MjcwOTEsImp0aSI6IllTNElhM0JkdGVpdmVMVlQiLCJzdWIiOjYxLCJwcnYiOiI4N2UwYWYxZWY5ZmQxNTgxMmZkZWM5NzE1M2ExNGUwYjA0NzU0NmFhIn0.GF2_8-WhgD9rIS2SjxY9D4wQzZQVhVLXsacJO1f8dg4"}
 *             )
 *         )
 *     ),
 * )
 *
 */
 public function user()
  {
     return response()->json(auth()->user());
  }
 */

我是使用 Postman 完成的。但是我想知道将令牌发送到api的正确方法是什么?

【问题讨论】:

    标签: laravel swagger swagger-ui jwt-auth


    【解决方案1】:

    要做到这一点,我们必须做两件事

    1. 在基本控制器上声明一个 SecurityScheme,如下所示
         * @OA\SecurityScheme(
         *    securityScheme="bearerAuth",
         *    in="header",
         *    name="bearerAuth",
         *    type="http",
         *    scheme="bearer",
         *    bearerFormat="JWT",
         * ),
    
    1. 在相应的 API 调用中使用声明的 SecurityScheme,如下所示
         *       security={
         *           {"bearerAuth": {}}
         *       }
    

    现在,如果您重新加载 API 文档页面,将会看到添加了一个 Authorize 按钮,单击该按钮将打开一个模型,您可以在其中输入您的 token

    令牌输入视图

    使用有效token授权后,即可访问需要授权的API。希望这可能对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2020-09-16
      • 2018-01-23
      • 2022-10-25
      • 1970-01-01
      • 2022-06-24
      相关资源
      最近更新 更多