Я добавил swagger ui в свое приложение, ранее ниже двух URL, к которым я мог получить прямой доступ без какой-либо аутентификации.
http://localhost:1510/swagger-ui.html
http://localhost:1510/v2/api-docs
Мне нужны безопасные URL-адреса Swagger, не хочу, чтобы кто-либо непосредственно видел подробности API моего приложения.
Примечание: - В целях аутентификации я использую JWT с пружинной защитой в моем приложении.
ТАК, чтобы обезопасить URL-адреса, я сделал запись в конфигурации весенней безопасности .. ниже кода
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
.exceptionHandling()
.authenticationEntryPoint(problemSupport)
.accessDeniedHandler(problemSupport)
.and()
.csrf()
.disable()
.headers()
.frameOptions()
.disable()
.and()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/api/register").permitAll()
.antMatchers("/api/activate").permitAll()
.antMatchers("/api/userLogin").permitAll()
.antMatchers("/v2/api-docs").hasAuthority(AuthoritiesConstants.ADMIN)
.antMatchers("/swagger-ui.html").hasAuthority(AuthoritiesConstants.ADMIN)
.and()
.apply(securityConfigurerAdapter());
}
и когда я пытаюсь получить доступ к ссылкам, я получаю исключение в браузере, а также на консоли затмения.
org.springframework.security.authentication.InsufficientAuthenticationException: Full authentication is required to access this resource
Как я могу передать токен jwt, чтобы увидеть страницу чванства?