Java swagger注释用于授权

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java swagger注释用于授权相关的知识,希望对你有一定的参考价值。

我正在使用以下swagger依赖关系为我的休息api:

<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-rs-service-description-swagger</artifactId>
    <version>3.2.6</version>
</dependency>
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>swagger-ui</artifactId>
    <version>3.17.6</version>
</dependency>

现在我正在为我的项目添加安全性。如何实现从swagger使用api的可能性?

我可以为每种方法设置@HeaderParam(HttpHeaders.AUTHORIZATION) - 但我想有更好的方法吗?

答案

所以现在我想与您分享我使用的工作解决方案:

@SwaggerDefinition(securityDefinition = @SecurityDefinition(
    apiKeyAuthDefinitions = {
            @ApiKeyAuthDefinition(
                    key = HttpHeaders.AUTHORIZATION,
                    name = HttpHeaders.AUTHORIZATION,
                    in = ApiKeyAuthDefinition.ApiKeyLocation.HEADER
            )
    }
))

它将为您的Swagger UI创建安全按钮以设置auth标头。现在您只需要像这样注释要保护的api:

@Api(value = "Your value", description = "Your description", authorizations = {
    @Authorization(HttpHeaders.AUTHORIZATION)
})

当然你可以使用自定义标题,但对于我的解决方案,我使用了HttpHeaders.AUTHORIZATION

所以我希望它会对某人有所帮助。

以上是关于Java swagger注释用于授权的主要内容,如果未能解决你的问题,请参考以下文章

Swagger整合Jwt授权配置

Swagger使用注意事项-java

django-rest-swagger对API接口注释

如何使用 openapi-ui 和承载令牌(jwt)在 swagger-ui 中激活授权按钮?

swagger注释API详细说明

SWAGGER注释API详细说明