Я получаю эту ошибку из стандартной реализации входа в Spring Security OAuth2 (без использования Spring Boot):
[invalid_token_response] Произошла ошибка при попытке получить ответ токена доступа OAuth 2.0:Ошибка при извлечении ответа для типа [class org.springframework.security.oauth2.core.endpoint.OAuth2AccessTokenResponse] и типа контента [application / json; charset = utf-8];вложенное исключение - org.springframework.http.converter.HttpMessageNotReadableException: произошла ошибка при чтении ответа маркера доступа OAuth 2.0: null;вложенное исключение: java.lang.NullPointerException
снимок экрана здесь
Сюжет таков: я перехожу на любую защищенную страницу, она перенаправляет в Google "выберите учетную запись"Черт, я выбираю учетную запись и взрыва, перенаправление на / логин? Ошибка при отображении текста, упомянутого выше.
Конфигурация Spring Security:
@Configuration
@EnableWebSecurity()
@PropertySource("classpath:application.properties")
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/tlog/**").authenticated()
.and().oauth2Login();
}
@Bean
public OAuth2AuthorizedClientService authorizedClientService() {
return new InMemoryOAuth2AuthorizedClientService(clientRegistrationRepository());
}
@Bean
public OAuth2AuthorizedClientRepository authorizedClientRepository(OAuth2AuthorizedClientService authorizedClientService) {
return new AuthenticatedPrincipalOAuth2AuthorizedClientRepository(authorizedClientService);
}
@Bean
public ClientRegistrationRepository clientRegistrationRepository() {
return new InMemoryClientRegistrationRepository(googleClientRegistration());
}
private ClientRegistration googleClientRegistration() {
return CommonOAuth2Provider.GOOGLE.getBuilder("google")
.clientId("XXX")
.clientSecret("ZZZ")
.build();
}
}
Чего мне здесь не хватает?Не могу найти приличного учебника, НЕ использующего Spring Boot, который действительно помог бы.