Springfox中AuthorizationScope的作用及Swagger配置相关问题咨询
AuthorizationScope是Springfox实现Swagger规范时,用于描述接口权限范围的核心类,在你当前的JWT Bearer认证配置场景下,它的实际功能主要有3点:
- 标记全局权限粒度:你定义的
read、write两个范围,会在Swagger UI的认证弹窗中明确展示,调试接口的用户可以直观知道当前服务支持的权限划分规则 - 匹配接口权限要求:如果你的后端接口实际按照scope做权限校验(比如新增类接口要求JWT包含
write权限、查询类接口仅要求read权限),后续可以单独给不同接口绑定对应scope,Swagger会在接口文档页展示该接口要求的权限范围,避免调用方误用令牌 - 符合OpenAPI规范要求:你当前用的是Swagger 2(对应OpenAPI 2.0)规范,AuthorizationScope的配置会同步写入生成的openapi描述文件中,方便各类OpenAPI生态工具读取识别服务的权限规则
你当前代码中是将两个scope全局绑定到了Bearer认证上,所有需要鉴权的接口都会默认标注需要这两个权限。如果后续要做更细粒度的接口级别权限标注,在对应接口上添加@ApiOperation(authorizations = {@Authorization(value = "Bearer", scopes = {@AuthorizationScope(scope = "write", description = "write scope")})})即可实现。
内容的提问来源于stack exchange,提问作者majid_shoorabi
相关产品推荐
相关产品推荐

