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

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

public final class OpenIDConnectConfigurationTokenEndpointURI implements OpenIDConnectConfiguration {
   static final String TOKEN_ENDPOINT_URI_CONFIGURATION_NAME = "token endpoint uri";

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

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