@Bean @ConditionalOnMissingBean public JwtClaimsSetVerifier jwtClaimsSetVerifier() { try { return new IssuerClaimVerifier(new URL(issuerUrl())); } catch (MalformedURLException e) { throw new InvalidPropertyException(JwtClaimsSetVerifier.class, "okta.oauth2.issuer", "Failed to parse issuer URL", e); } }
@Bean public TokenStore jwkTokenStore() throws MalformedURLException { ProviderDiscoveryClient discoveryClient = new ProviderDiscoveryClient(ssoServiceUrl); ProviderConfiguration providerConfiguration = discoveryClient.discover(); IssuerClaimVerifier issuerClaimVerifier = new IssuerClaimVerifier(providerConfiguration.getIssuer()); return new JwkTokenStore( keySetUri, issuerClaimVerifier ); } }