package com.airlock.iam.oauth2.infrastructure.discovery.compatibility;

import com.nimbusds.openid.connect.sdk.op.OIDCProviderMetadata;
import java.net.URI;

public final class OpenIDConnectConfigurationAuthorizationURI implements OpenIDConnectConfiguration {
   static final String AUTHORIZATION_ENDPOINT_URI_CONFIGURATION_NAME = "authorization endpoint uri";

   @Override
   public String getName() {
      return "authorization endpoint uri";
   }

   @Override
   public OpenIDConnectCompatibilityResult validate(OIDCProviderMetadata providerMetadata) {
      URI authorizationEndpointURI = providerMetadata.getAuthorizationEndpointURI();
      return authorizationEndpointURI == null
         ? OpenIDConnectCompatibilityResult.withIncompatibility(new OpenIDConnectIncompatibilityMissingConfiguration(this))
         : OpenIDConnectCompatibilityResult.SUCCESS;
   }
}
