package com.airlock.iam.oauth2.infrastructure.factory.rest;

import com.airlock.iam.base.api.infrastructure.plugin.ModuleForConfig;
import com.airlock.iam.oauth2.application.configuration.clientauthentication.OAuth2ParameterClientSecretMethodConfig;
import com.airlock.iam.oauth2.domain.service.clientauthentication.clientsecret.OAuth2ParameterClientSecretMethodSettings;
import com.google.inject.Exposed;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;

@ModuleForConfig(OAuth2ParameterClientSecretMethodConfig.class)
public final class OAuth2ParameterClientSecretMethodModule extends PrivateModule {
   @Provides
   @Exposed
   OAuth2ParameterClientSecretMethodSettings provideOAuth2ParameterClientSecretMethodSettings(OAuth2ParameterClientSecretMethodConfig config) {
      return new OAuth2ParameterClientSecretMethodSettings(config.getClientIdName(), config.getParameterName());
   }

   protected void configure() {
   }
}
