发送 header 来自 swagger API
Sending a header From swagger API
我正在使用 Swagger 和 Laravel 7,我想使用 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?
的正确方法是什么
要做到这一点,我们必须做两件事
- 像下面这样在基本控制器上声明一个 SecurityScheme
* @OA\SecurityScheme(
* securityScheme="bearerAuth",
* in="header",
* name="bearerAuth",
* type="http",
* scheme="bearer",
* bearerFormat="JWT",
* ),
- 在相应的 API 调用上使用声明的 SecurityScheme,如下所示
* security={
* {"bearerAuth": {}}
* }
现在,如果您重新加载 API 文档页面,将会看到添加了 Authorize 按钮,单击该按钮将打开一个模型,您可以在其中输入您的 token
.
令牌输入视图
使用有效令牌授权后,您将可以访问需要授权的API。希望这可能对某人有所帮助。
我正在使用 Swagger 和 Laravel 7,我想使用 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?
的正确方法是什么要做到这一点,我们必须做两件事
- 像下面这样在基本控制器上声明一个 SecurityScheme
* @OA\SecurityScheme(
* securityScheme="bearerAuth",
* in="header",
* name="bearerAuth",
* type="http",
* scheme="bearer",
* bearerFormat="JWT",
* ),
- 在相应的 API 调用上使用声明的 SecurityScheme,如下所示
* security={
* {"bearerAuth": {}}
* }
现在,如果您重新加载 API 文档页面,将会看到添加了 Authorize 按钮,单击该按钮将打开一个模型,您可以在其中输入您的 token
.
令牌输入视图
使用有效令牌授权后,您将可以访问需要授权的API。希望这可能对某人有所帮助。