Implement OpenID client registration endpoint

See: https://openid.net/specs/openid-connect-registration-1_0.html#ClientRegistration

Closes gh-57
This commit is contained in:
Ovidiu Popa
2020-12-21 17:21:19 +02:00
committed by Joe Grandja
parent 2712a7b86c
commit 8224a0d971
25 changed files with 2476 additions and 36 deletions

View File

@@ -21,6 +21,11 @@ import com.nimbusds.jose.jwk.JWKSet;
import com.nimbusds.jose.jwk.RSAKey;
import com.nimbusds.jose.jwk.source.JWKSource;
import com.nimbusds.jose.proc.SecurityContext;
import org.springframework.security.oauth2.core.OAuth2TokenValidator;
import org.springframework.security.oauth2.jwt.Jwt;
import org.springframework.security.oauth2.jwt.JwtDecoder;
import org.springframework.security.oauth2.jwt.JwtValidators;
import org.springframework.security.oauth2.jwt.NimbusJwtDecoder;
import sample.jose.Jwks;
import org.springframework.context.annotation.Bean;
@@ -85,4 +90,12 @@ public class AuthorizationServerConfig {
public ProviderSettings providerSettings() {
return new ProviderSettings().issuer("http://auth-server:9000");
}
@Bean
public JwtDecoder jwtDecoder(ProviderSettings providerSettings){
OAuth2TokenValidator<Jwt> jwtValidator = JwtValidators.createDefaultWithIssuer(providerSettings.issuer());
NimbusJwtDecoder jwtDecoder = NimbusJwtDecoder.withJwkSetUri("http://auth-server:9000"+providerSettings.jwkSetEndpoint()).build();
jwtDecoder.setJwtValidator(jwtValidator);
return jwtDecoder;
}
}