Add issuerUri to ClientRegistration.providerDetails
- Add "issuerUri" attribute to ClientRegistration.providerDetails for OpenID Connect Discovery 1.0 or OAuth 2.0 Authorization Server Metadata. - Validate OidcIdToken "iss" claim against the OpenID Provider "issuerUri" value. - Update documentation for client registration: it includes issuer-uri property now. Fixes gh-8326
This commit is contained in:
committed by
Joe Grandja
parent
db4ca1f756
commit
78fa859798
+1
@@ -42,6 +42,7 @@ public enum CommonOAuth2Provider {
|
||||
builder.tokenUri("https://www.googleapis.com/oauth2/v4/token");
|
||||
builder.jwkSetUri("https://www.googleapis.com/oauth2/v3/certs");
|
||||
builder.userInfoUri("https://www.googleapis.com/oauth2/v3/userinfo");
|
||||
builder.issuerUri("https://accounts.google.com");
|
||||
builder.userNameAttributeName(IdTokenClaimNames.SUB);
|
||||
builder.clientName("Google");
|
||||
return builder;
|
||||
|
||||
+2
@@ -165,6 +165,7 @@ public class ClientRegistrationsBeanDefinitionParserTests {
|
||||
.isEqualTo(AuthenticationMethod.HEADER);
|
||||
assertThat(googleProviderDetails.getUserInfoEndpoint().getUserNameAttributeName()).isEqualTo("sub");
|
||||
assertThat(googleProviderDetails.getJwkSetUri()).isEqualTo("https://example.com/oauth2/v3/certs");
|
||||
assertThat(googleProviderDetails.getIssuerUri()).isEqualTo(serverUrl);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -195,6 +196,7 @@ public class ClientRegistrationsBeanDefinitionParserTests {
|
||||
.isEqualTo(AuthenticationMethod.HEADER);
|
||||
assertThat(googleProviderDetails.getUserInfoEndpoint().getUserNameAttributeName()).isEqualTo("sub");
|
||||
assertThat(googleProviderDetails.getJwkSetUri()).isEqualTo("https://www.googleapis.com/oauth2/v3/certs");
|
||||
assertThat(googleProviderDetails.getIssuerUri()).isEqualTo("https://accounts.google.com");
|
||||
|
||||
ClientRegistration githubRegistration = clientRegistrationRepository.findByRegistrationId("github-login");
|
||||
assertThat(githubRegistration).isNotNull();
|
||||
|
||||
Reference in New Issue
Block a user