package com.airlock.iam.login.app.misc.oauth2.client;

import com.airlock.iam.login.app.misc.ExceptionWrapperServlet;
import com.airlock.iam.login.app.misc.configuration.Loginapp;
import com.airlock.iam.login.app.misc.configuration.OAuth2SSOClientSettings;
import com.airlock.iam.plugin.api.config.ConfigurationContext;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Optional;

public class OAuth2ClientServlet extends ExceptionWrapperServlet {
   @Override
   protected void handleRequest(HttpServletRequest request, HttpServletResponse response, ConfigurationContext context) throws IOException {
      Optional<OAuth2SSOClientSettings> clientConfig = Loginapp.get(context).getOAuth2SSOSettings();
      if (!clientConfig.isPresent() || !new OAuth2ClientEndpointRedirect(clientConfig.get(), request, response).redirect()) {
         response.sendError(404);
      }
   }
}
