Skip to content

Commit b086233

Browse files
committed
Fix tests for OIDC Provider Configuration Endpoint
Closes spring-projectsgh-1416
1 parent 24d2a7c commit b086233

File tree

4 files changed

+97
-97
lines changed

4 files changed

+97
-97
lines changed

oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/config/annotation/web/configurers/OidcProviderConfigurationTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2020-2022 the original author or authors.
2+
* Copyright 2020-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -63,7 +63,7 @@
6363
@ExtendWith(SpringTestContextExtension.class)
6464
public class OidcProviderConfigurationTests {
6565
private static final String DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI = "/.well-known/openid-configuration";
66-
private static final String ISSUER_URL = "https://example.com/issuer1";
66+
private static final String ISSUER_URL = "https://example.com";
6767

6868
public final SpringTestContext spring = new SpringTestContext();
6969

@@ -77,7 +77,7 @@ public class OidcProviderConfigurationTests {
7777
public void requestWhenConfigurationRequestAndIssuerSetThenReturnDefaultConfigurationResponse() throws Exception {
7878
this.spring.register(AuthorizationServerConfiguration.class).autowire();
7979

80-
this.mvc.perform(get(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI))
80+
this.mvc.perform(get(ISSUER_URL.concat(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI)))
8181
.andExpect(status().is2xxSuccessful())
8282
.andExpectAll(defaultConfigurationMatchers());
8383
}
@@ -87,7 +87,7 @@ public void requestWhenConfigurationRequestAndIssuerSetThenReturnDefaultConfigur
8787
public void requestWhenConfigurationRequestAndUserAuthenticatedThenReturnConfigurationResponse() throws Exception {
8888
this.spring.register(AuthorizationServerConfiguration.class).autowire();
8989

90-
this.mvc.perform(get(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI)
90+
this.mvc.perform(get(ISSUER_URL.concat(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI))
9191
.with(user("user")))
9292
.andExpect(status().is2xxSuccessful())
9393
.andExpectAll(defaultConfigurationMatchers());
@@ -98,7 +98,7 @@ public void requestWhenConfigurationRequestAndUserAuthenticatedThenReturnConfigu
9898
public void requestWhenConfigurationRequestAndConfigurationCustomizerSetThenReturnCustomConfigurationResponse() throws Exception {
9999
this.spring.register(AuthorizationServerConfigurationWithProviderConfigurationCustomizer.class).autowire();
100100

101-
this.mvc.perform(get(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI))
101+
this.mvc.perform(get(ISSUER_URL.concat(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI)))
102102
.andExpect(status().is2xxSuccessful())
103103
.andExpect(jsonPath(OAuth2AuthorizationServerMetadataClaimNames.SCOPES_SUPPORTED,
104104
hasItems(OidcScopes.OPENID, OidcScopes.PROFILE, OidcScopes.EMAIL)));
@@ -108,7 +108,7 @@ public void requestWhenConfigurationRequestAndConfigurationCustomizerSetThenRetu
108108
public void requestWhenConfigurationRequestAndClientRegistrationEnabledThenConfigurationResponseIncludesRegistrationEndpoint() throws Exception {
109109
this.spring.register(AuthorizationServerConfigurationWithClientRegistrationEnabled.class).autowire();
110110

111-
this.mvc.perform(get(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI))
111+
this.mvc.perform(get(ISSUER_URL.concat(DEFAULT_OIDC_PROVIDER_CONFIGURATION_ENDPOINT_URI)))
112112
.andExpect(status().is2xxSuccessful())
113113
.andExpectAll(defaultConfigurationMatchers())
114114
.andExpect(jsonPath("$.registration_endpoint").value(ISSUER_URL.concat(this.authorizationServerSettings.getOidcClientRegistrationEndpoint())));

oauth2-authorization-server/src/test/java/org/springframework/security/oauth2/server/authorization/oidc/OidcProviderConfigurationTests.java

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2020-2022 the original author or authors.
2+
* Copyright 2020-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -37,10 +37,10 @@
3737
public class OidcProviderConfigurationTests {
3838
private final OidcProviderConfiguration.Builder minimalConfigurationBuilder =
3939
OidcProviderConfiguration.builder()
40-
.issuer("https://example.com/issuer1")
41-
.authorizationEndpoint("https://example.com/issuer1/oauth2/authorize")
42-
.tokenEndpoint("https://example.com/issuer1/oauth2/token")
43-
.jwkSetUrl("https://example.com/issuer1/oauth2/jwks")
40+
.issuer("https://example.com")
41+
.authorizationEndpoint("https://example.com/oauth2/authorize")
42+
.tokenEndpoint("https://example.com/oauth2/token")
43+
.jwkSetUrl("https://example.com/oauth2/jwks")
4444
.scope("openid")
4545
.responseType("code")
4646
.subjectType("public")
@@ -49,54 +49,54 @@ public class OidcProviderConfigurationTests {
4949
@Test
5050
public void buildWhenAllRequiredClaimsAndAdditionalClaimsThenCreated() {
5151
OidcProviderConfiguration providerConfiguration = OidcProviderConfiguration.builder()
52-
.issuer("https://example.com/issuer1")
53-
.authorizationEndpoint("https://example.com/issuer1/oauth2/authorize")
54-
.tokenEndpoint("https://example.com/issuer1/oauth2/token")
55-
.jwkSetUrl("https://example.com/issuer1/oauth2/jwks")
52+
.issuer("https://example.com")
53+
.authorizationEndpoint("https://example.com/oauth2/authorize")
54+
.tokenEndpoint("https://example.com/oauth2/token")
55+
.jwkSetUrl("https://example.com/oauth2/jwks")
5656
.scope("openid")
5757
.responseType("code")
5858
.grantType("authorization_code")
5959
.grantType("client_credentials")
6060
.subjectType("public")
6161
.idTokenSigningAlgorithm("RS256")
62-
.userInfoEndpoint("https://example.com/issuer1/userinfo")
62+
.userInfoEndpoint("https://example.com/userinfo")
6363
.tokenEndpointAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC.getValue())
64-
.clientRegistrationEndpoint("https://example.com/issuer1/connect/register")
64+
.clientRegistrationEndpoint("https://example.com/connect/register")
6565
.claim("a-claim", "a-value")
6666
.build();
6767

68-
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com/issuer1"));
69-
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/authorize"));
70-
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/token"));
71-
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/issuer1/oauth2/jwks"));
68+
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com"));
69+
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/oauth2/authorize"));
70+
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/oauth2/token"));
71+
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/oauth2/jwks"));
7272
assertThat(providerConfiguration.getScopes()).containsExactly("openid");
7373
assertThat(providerConfiguration.getResponseTypes()).containsExactly("code");
7474
assertThat(providerConfiguration.getGrantTypes()).containsExactlyInAnyOrder("authorization_code", "client_credentials");
7575
assertThat(providerConfiguration.getSubjectTypes()).containsExactly("public");
7676
assertThat(providerConfiguration.getIdTokenSigningAlgorithms()).containsExactly("RS256");
77-
assertThat(providerConfiguration.getUserInfoEndpoint()).isEqualTo(url("https://example.com/issuer1/userinfo"));
77+
assertThat(providerConfiguration.getUserInfoEndpoint()).isEqualTo(url("https://example.com/userinfo"));
7878
assertThat(providerConfiguration.getTokenEndpointAuthenticationMethods()).containsExactly(ClientAuthenticationMethod.CLIENT_SECRET_BASIC.getValue());
79-
assertThat(providerConfiguration.getClientRegistrationEndpoint()).isEqualTo(url("https://example.com/issuer1/connect/register"));
79+
assertThat(providerConfiguration.getClientRegistrationEndpoint()).isEqualTo(url("https://example.com/connect/register"));
8080
assertThat(providerConfiguration.<String>getClaim("a-claim")).isEqualTo("a-value");
8181
}
8282

8383
@Test
8484
public void buildWhenOnlyRequiredClaimsThenCreated() {
8585
OidcProviderConfiguration providerConfiguration = OidcProviderConfiguration.builder()
86-
.issuer("https://example.com/issuer1")
87-
.authorizationEndpoint("https://example.com/issuer1/oauth2/authorize")
88-
.tokenEndpoint("https://example.com/issuer1/oauth2/token")
89-
.jwkSetUrl("https://example.com/issuer1/oauth2/jwks")
86+
.issuer("https://example.com")
87+
.authorizationEndpoint("https://example.com/oauth2/authorize")
88+
.tokenEndpoint("https://example.com/oauth2/token")
89+
.jwkSetUrl("https://example.com/oauth2/jwks")
9090
.scope("openid")
9191
.responseType("code")
9292
.subjectType("public")
9393
.idTokenSigningAlgorithm("RS256")
9494
.build();
9595

96-
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com/issuer1"));
97-
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/authorize"));
98-
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/token"));
99-
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/issuer1/oauth2/jwks"));
96+
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com"));
97+
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/oauth2/authorize"));
98+
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/oauth2/token"));
99+
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/oauth2/jwks"));
100100
assertThat(providerConfiguration.getScopes()).containsExactly("openid");
101101
assertThat(providerConfiguration.getResponseTypes()).containsExactly("code");
102102
assertThat(providerConfiguration.getGrantTypes()).isNull();
@@ -108,64 +108,64 @@ public void buildWhenOnlyRequiredClaimsThenCreated() {
108108
@Test
109109
public void buildWhenClaimsProvidedThenCreated() {
110110
Map<String, Object> claims = new HashMap<>();
111-
claims.put(OidcProviderMetadataClaimNames.ISSUER, "https://example.com/issuer1");
112-
claims.put(OidcProviderMetadataClaimNames.AUTHORIZATION_ENDPOINT, "https://example.com/issuer1/oauth2/authorize");
113-
claims.put(OidcProviderMetadataClaimNames.TOKEN_ENDPOINT, "https://example.com/issuer1/oauth2/token");
114-
claims.put(OidcProviderMetadataClaimNames.JWKS_URI, "https://example.com/issuer1/oauth2/jwks");
111+
claims.put(OidcProviderMetadataClaimNames.ISSUER, "https://example.com");
112+
claims.put(OidcProviderMetadataClaimNames.AUTHORIZATION_ENDPOINT, "https://example.com/oauth2/authorize");
113+
claims.put(OidcProviderMetadataClaimNames.TOKEN_ENDPOINT, "https://example.com/oauth2/token");
114+
claims.put(OidcProviderMetadataClaimNames.JWKS_URI, "https://example.com/oauth2/jwks");
115115
claims.put(OidcProviderMetadataClaimNames.SCOPES_SUPPORTED, Collections.singletonList("openid"));
116116
claims.put(OidcProviderMetadataClaimNames.RESPONSE_TYPES_SUPPORTED, Collections.singletonList("code"));
117117
claims.put(OidcProviderMetadataClaimNames.SUBJECT_TYPES_SUPPORTED, Collections.singletonList("public"));
118118
claims.put(OidcProviderMetadataClaimNames.ID_TOKEN_SIGNING_ALG_VALUES_SUPPORTED, Collections.singletonList("RS256"));
119-
claims.put(OidcProviderMetadataClaimNames.USER_INFO_ENDPOINT, "https://example.com/issuer1/userinfo");
120-
claims.put(OidcProviderMetadataClaimNames.REGISTRATION_ENDPOINT, "https://example.com/issuer1/connect/register");
119+
claims.put(OidcProviderMetadataClaimNames.USER_INFO_ENDPOINT, "https://example.com/userinfo");
120+
claims.put(OidcProviderMetadataClaimNames.REGISTRATION_ENDPOINT, "https://example.com/connect/register");
121121
claims.put("some-claim", "some-value");
122122

123123
OidcProviderConfiguration providerConfiguration = OidcProviderConfiguration.withClaims(claims).build();
124124

125-
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com/issuer1"));
126-
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/authorize"));
127-
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/token"));
128-
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/issuer1/oauth2/jwks"));
125+
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com"));
126+
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/oauth2/authorize"));
127+
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/oauth2/token"));
128+
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/oauth2/jwks"));
129129
assertThat(providerConfiguration.getScopes()).containsExactly("openid");
130130
assertThat(providerConfiguration.getResponseTypes()).containsExactly("code");
131131
assertThat(providerConfiguration.getGrantTypes()).isNull();
132132
assertThat(providerConfiguration.getSubjectTypes()).containsExactly("public");
133133
assertThat(providerConfiguration.getIdTokenSigningAlgorithms()).containsExactly("RS256");
134-
assertThat(providerConfiguration.getUserInfoEndpoint()).isEqualTo(url("https://example.com/issuer1/userinfo"));
134+
assertThat(providerConfiguration.getUserInfoEndpoint()).isEqualTo(url("https://example.com/userinfo"));
135135
assertThat(providerConfiguration.getTokenEndpointAuthenticationMethods()).isNull();
136-
assertThat(providerConfiguration.getClientRegistrationEndpoint()).isEqualTo(url("https://example.com/issuer1/connect/register"));
136+
assertThat(providerConfiguration.getClientRegistrationEndpoint()).isEqualTo(url("https://example.com/connect/register"));
137137
assertThat(providerConfiguration.<String>getClaim("some-claim")).isEqualTo("some-value");
138138
}
139139

140140
@Test
141141
public void buildWhenClaimsProvidedWithUrlsThenCreated() {
142142
Map<String, Object> claims = new HashMap<>();
143-
claims.put(OidcProviderMetadataClaimNames.ISSUER, url("https://example.com/issuer1"));
144-
claims.put(OidcProviderMetadataClaimNames.AUTHORIZATION_ENDPOINT, url("https://example.com/issuer1/oauth2/authorize"));
145-
claims.put(OidcProviderMetadataClaimNames.TOKEN_ENDPOINT, url("https://example.com/issuer1/oauth2/token"));
146-
claims.put(OidcProviderMetadataClaimNames.JWKS_URI, url("https://example.com/issuer1/oauth2/jwks"));
143+
claims.put(OidcProviderMetadataClaimNames.ISSUER, url("https://example.com"));
144+
claims.put(OidcProviderMetadataClaimNames.AUTHORIZATION_ENDPOINT, url("https://example.com/oauth2/authorize"));
145+
claims.put(OidcProviderMetadataClaimNames.TOKEN_ENDPOINT, url("https://example.com/oauth2/token"));
146+
claims.put(OidcProviderMetadataClaimNames.JWKS_URI, url("https://example.com/oauth2/jwks"));
147147
claims.put(OidcProviderMetadataClaimNames.SCOPES_SUPPORTED, Collections.singletonList("openid"));
148148
claims.put(OidcProviderMetadataClaimNames.RESPONSE_TYPES_SUPPORTED, Collections.singletonList("code"));
149149
claims.put(OidcProviderMetadataClaimNames.SUBJECT_TYPES_SUPPORTED, Collections.singletonList("public"));
150150
claims.put(OidcProviderMetadataClaimNames.ID_TOKEN_SIGNING_ALG_VALUES_SUPPORTED, Collections.singletonList("RS256"));
151-
claims.put(OidcProviderMetadataClaimNames.USER_INFO_ENDPOINT, url("https://example.com/issuer1/userinfo"));
152-
claims.put(OidcProviderMetadataClaimNames.REGISTRATION_ENDPOINT, url("https://example.com/issuer1/connect/register"));
151+
claims.put(OidcProviderMetadataClaimNames.USER_INFO_ENDPOINT, url("https://example.com/userinfo"));
152+
claims.put(OidcProviderMetadataClaimNames.REGISTRATION_ENDPOINT, url("https://example.com/connect/register"));
153153
claims.put("some-claim", "some-value");
154154

155155
OidcProviderConfiguration providerConfiguration = OidcProviderConfiguration.withClaims(claims).build();
156156

157-
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com/issuer1"));
158-
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/authorize"));
159-
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/issuer1/oauth2/token"));
160-
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/issuer1/oauth2/jwks"));
157+
assertThat(providerConfiguration.getIssuer()).isEqualTo(url("https://example.com"));
158+
assertThat(providerConfiguration.getAuthorizationEndpoint()).isEqualTo(url("https://example.com/oauth2/authorize"));
159+
assertThat(providerConfiguration.getTokenEndpoint()).isEqualTo(url("https://example.com/oauth2/token"));
160+
assertThat(providerConfiguration.getJwkSetUrl()).isEqualTo(url("https://example.com/oauth2/jwks"));
161161
assertThat(providerConfiguration.getScopes()).containsExactly("openid");
162162
assertThat(providerConfiguration.getResponseTypes()).containsExactly("code");
163163
assertThat(providerConfiguration.getGrantTypes()).isNull();
164164
assertThat(providerConfiguration.getSubjectTypes()).containsExactly("public");
165165
assertThat(providerConfiguration.getIdTokenSigningAlgorithms()).containsExactly("RS256");
166-
assertThat(providerConfiguration.getUserInfoEndpoint()).isEqualTo(url("https://example.com/issuer1/userinfo"));
166+
assertThat(providerConfiguration.getUserInfoEndpoint()).isEqualTo(url("https://example.com/userinfo"));
167167
assertThat(providerConfiguration.getTokenEndpointAuthenticationMethods()).isNull();
168-
assertThat(providerConfiguration.getClientRegistrationEndpoint()).isEqualTo(url("https://example.com/issuer1/connect/register"));
168+
assertThat(providerConfiguration.getClientRegistrationEndpoint()).isEqualTo(url("https://example.com/connect/register"));
169169
assertThat(providerConfiguration.<String>getClaim("some-claim")).isEqualTo("some-value");
170170
}
171171

0 commit comments

Comments
 (0)