Swagger UI - получение проблемы с CORS, когда токен авторизации на предъявителя неверен (сервер отвечает 403), работает нормально в случае правильного токена - PullRequest
0 голосов
/ 23 февраля 2020

Я документирую API, используя swagger openApi 3.0.0. И я использую аутентификацию на предъявителя, предоставленную самим чванством. Теперь, когда токен авторизации правильный, сервер отправляет ответ, и он отображается через пользовательский интерфейс сваггера, но если токен неверен, сервер отправляет 403 запрещенную ошибку, и сваггер просто отображает «Ошибка ввода: Ошибка при загрузке». Я приложил снимки экрана с вкладками сети браузера.

ОПЦИИ с отправкой 200 ответа

получение Access-control-allow-origin: * из ВАРИАНТЫ ответа

получение ответа сервера 403 в качестве токена авторизации неверно

, но не получение контроля доступа разрешает ответ источника в фактическом ответе. .получая проблему CORS

Это мой swaggerConfig. java code

@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;
}

и в файле swagger.yaml для одного из API я использовал securityschema следующим образом:

security: - bearerAuth: []

securitySchemes: bearerAuth: тип: http схема: bearer

...