Я создаю клиент OAuth2.0 для настраиваемого поставщика OAuth2 в приложении Spring Boot + Security (версия 5).
Ниже приведен application.properties
, который имеет всю конфигурацию, и в моем проекте нет дополнительного класса конфигурации.
spring.security.oauth2.client.registration.xxxxxxxxx.client-id=XXXXXXXXXX
spring.security.oauth2.client.registration.xxxxxxxxx.client-secret=XXXXXXXXXX
spring.security.oauth2.client.registration.xxxxxxxxx.scope=openid
spring.security.oauth2.client.registration.xxxxxxxxx.redirect-uri-template=http://localhost:8080/login/oauth2/code/xxxxxxxxx
spring.security.oauth2.client.registration.xxxxxxxxx.client-name=xxxxxxxxx
spring.security.oauth2.client.registration.xxxxxxxxx.provider=xxxxxxxxx
spring.security.oauth2.client.registration.xxxxxxxxx.client-authentication-method=basic
spring.security.oauth2.client.registration.xxxxxxxxx.authorization-grant-type=authorization_code
spring.security.oauth2.client.provider.xxxxxxxxx.authorization-uri=https://api.xxxxxxxxx.com/authorize
spring.security.oauth2.client.provider.xxxxxxxxx.token-uri=https://api.xxxxxxxxx.com/token
spring.security.oauth2.client.provider.xxxxxxxxx.user-info-uri=https://api.xxxxxxxxx.com/userinfo?schema=openid
spring.security.oauth2.client.provider.xxxxxxxxx.user-name-attribute=name
spring.security.oauth2.client.provider.xxxxxxxxx.user-info-authentication-method=header
Когда я нажимаю http://localhost:8080/
, он правильно перенаправляет на страницу входа провайдера, а после успешного входа перенаправляет обратно в мое приложение.
Теперь проблема в том, что когда он перенаправляет, то отображается сообщение об ошибке ниже.
Я погуглил эту ошибку, но не получил правильного ответа. Кроме того, поставщик OAuth2 не предоставил такой URL-адрес.
После исследования я узнал, что мне нужно установить свойство ниже. Должно ли оно быть предоставлено провайдером аутентификации?
spring.security.oauth2.client.provider.pepstores.jwk-set-uri
Что именно мне здесь не хватает в конфигурации?