Я добавил OIDC посредством вызова на сервер MITREid в другом домене для приложения swagger. Я установил URI перенаправления на http://localhost:8080/swagger-ui.html
Когда я авторизуюсь, я получаю:
Can't read from server. It may not have the appropriate
access-control-origin settings
ошибка.
Мой web-security-config:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Value("${security.activation.status}")
private boolean securityActivationStatus;
@Value("${security.user.name}")
private String builtinUserName;
@Value("${security.user.password}")
private String builtinPassword;
@Autowired
private OAuth2RestTemplate restTemplate;
*/
String[] apiPath = {
"/v2/api-docs",
"/configuration/ui",
"/swagger-resources",
"/configuration/security",
"/swagger-ui.html",
"/webjars/**"
};
@Override
protected void configure(HttpSecurity http) throws Exception {
System.out.println("securityActivationStatus=" + securityActivationStatus);
if (!securityActivationStatus)
http.authorizeRequests().anyRequest().permitAll();
else {
http
.addFilterAfter(new OAuth2ClientContextFilter(), AbstractPreAuthenticatedProcessingFilter.class)
.addFilterAfter(myFilter(), OAuth2ClientContextFilter.class)
.httpBasic().authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/openid_connect_login"))
.and()
.authorizeRequests()
.antMatchers(apiPath).permitAll()
.antMatchers("/v1/**").authenticated();
}
http.csrf().disable();
http.headers().frameOptions().disable();
}
@Bean
public OpenIdConnectFilter myFilter() {
final OpenIdConnectFilter filter = new OpenIdConnectFilter("/openid_connect_login");
filter.setRestTemplate(restTemplate);
return filter;
}
POM включает в себя:
<properties>
<springfox.version>2.7.0</springfox.version>
<swagger.version>1.5.17</swagger.version>
<swagger2markup.version>1.3.1</swagger2markup.version>
<!-- For CheckStyle -->
<linkXRef>false</linkXRef>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-security-oauth2.version>2.2.1.RELEASE</spring-security-oauth2.version>
<spring-security-jwt.version>1.0.9.RELEASE</spring-security-jwt.version>
<jwks-rsa.version>0.3.0</jwks-rsa.version>
<mitreid-connect-version>1.3.1</mitreid-connect-version>
</properties>
По моим исследованиям это может быть связано с CORS. Это похоже на вероятную проблему или в моем коде что-то не так? Если это CORS, можете ли вы указать мне правильное направление, как это отсортировать? Я полный нуб к чванству.