Swagger UI-当承载授权令牌错误(服务器响应为403)时出现CORS问题,在令牌正确的情况下可以正常工作

时间:2020-02-23 14:14:05

标签: swagger swagger-ui openapi

我正在使用swagger openApi 3.0.0记录API。我使用的是招摇本身提供的承载身份验证。现在,当授权令牌正确时,服务器将发送响应,并通过swagger UI进行显示,但是当令牌错误时,服务器将发送403禁止的错误,而swagger仅显示“ TypeError:无法提取”。我已经附上了浏览器的“网络”标签内容的屏幕截图。

OPTIONS with sending 200 response

getting the Access-control-allow-origin: * from the OPTIONS response

getting the server response 403 as the authorization token is wrong

but not getting Access control allow origin response in the actual response.. so getting the CORS issue

这是我的swaggerConfig.java代码

@Bean
public Docket swagger() {
    return new Docket(DocumentationType.SWAGGER_12)
    .select()
   .apis(RequestHandlerSelectors.any())
   .paths(PathSelectors.any())
   .build();
}
/**
 * @param defaultResourcesProvider
 * @return swaggerResource for documenting the APIs
 */
@Primary
@Bean
public SwaggerResourcesProvider swaggerResourcesProvider(
    InMemorySwaggerResourcesProvider defaultResourcesProvider) {
    return () -> {
        List<SwaggerResource> resources = new ArrayList<>();
        Arrays.asList(<list of APIs>)
        .forEach(resourceName -> resources.add(loadResource(resourceName)));
        return resources;
   };
}

private SwaggerResource loadResource(String resource) {
    String file_name = "swagger.yaml";
    SwaggerResource swaggerResource = new SwaggerResource();
    swaggerResource.setName(resource);
    swaggerResource.setLocation("/swagger-apis/" + resource + "/" + file_name);
    return swaggerResource;
}

在其中一个API的swagger.yaml文件中,我使用了securityschema,如下所示:

安全性: -bearerAuth:[]

securitySchemes: bearerAuth: 类型:http 方案:承载

0 个答案:

没有答案
相关问题