Springboot Swagger UI с токеном на предъявителя - PullRequest
0 голосов
/ 19 октября 2018

Я использую токен на предъявителя для доступа к моему API.поэтому я настраиваю свое чванство так:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("br.com.lumera.intimacaoapi.controller"))
                .paths(PathSelectors.any())
                .build()
                .securitySchemes(Lists.newArrayList(apiKey()))
                .securityContexts(Arrays.asList(securityContext()));
    }


    private ApiKey apiKey() {
        return new ApiKey("Bearer", "Authorization", "header");
    }

    private SecurityContext securityContext() {
        return SecurityContext.builder().securityReferences(defaultAuth())
                .forPaths(PathSelectors.any()).build();
    }

    private List<SecurityReference> defaultAuth() {
        AuthorizationScope authorizationScope = new AuthorizationScope(
                "global", "accessEverything");
        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
        authorizationScopes[0] = authorizationScope;
        return Arrays.asList(new SecurityReference("Bearer",
                authorizationScopes));
    }
}

, но для каждого запроса мой пользователь должен вводить Bearer <>.Можно настроить swagger так, чтобы он автоматически выставлял 'Bearer' перед токеном, который вставил мой пользователь?

tks

1 Ответ

0 голосов
/ 25 декабря 2018

Обойти эту проблему можно, установив «Носитель» в качестве значения по умолчанию, как показано ниже.

public ResponseEntity method_name(@ApiParam(defaultValue = "Bearer ") String auth) { }

Этот код будет отображать «Носитель» в качестве значения по умолчанию в поле ввода токена.Вы можете добавить токен после носителя в поле ввода.

...