public record ResolvedOidcConnection()

in src/main/java/org/apache/sling/auth/oauth_client/impl/ResolvedOidcConnection.java [30:62]


public record ResolvedOidcConnection(
        String name,
        String authorizationEndpoint,
        String tokenEndpoint,
        String clientId,
        String clientSecret,
        List<String> scopes,
        List<String> additionalAuthorizationParameters,
        java.net.URI jwkSetURL,
        String issuer
    ) {
    
    public static @NotNull ResolvedOidcConnection resolve(@NotNull ClientConnection connection) {
        
        if ( connection instanceof OidcConnectionImpl impl ) {
            return new ResolvedOidcConnection(
                    connection.name(), 
                    impl.authorizationEndpoint(), 
                    impl.tokenEndpoint(),
                    impl.clientId(), 
                    impl.clientSecret(), 
                    Arrays.asList(impl.scopes()),
                    Arrays.asList(impl.additionalAuthorizationParameters()),
                    impl.jwkSetURL(),
                    impl.issuer()
                );
        }
        throw new IllegalArgumentException(String.format("Unable to resolve %s (name=%s) of type %s", 
                ClientConnection.class.getSimpleName(), connection.name(), connection.getClass().getName()));

    }

}