FSIDPProxy.java revision a688bcbb4bcff5398fdd29b86f83450257dc0df4
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James/**
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James *
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James *
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * The contents of this file are subject to the terms
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * of the Common Development and Distribution License
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * (the License). You may not use this file except in
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * compliance with the License.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James *
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * You can obtain a copy of the License at
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * https://opensso.dev.java.net/public/CDDLv1.0.html or
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * opensso/legal/CDDLv1.0.txt
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * See the License for the specific language governing
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * permission and limitations under the License.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James *
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * When distributing Covered Code, include this CDDL
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * Header Notice in each file and include the License file
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * at opensso/legal/CDDLv1.0.txt.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * If applicable, add the following below the CDDL Header,
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * with the fields enclosed by brackets [] replaced by
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * your own identifying information:
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * "Portions Copyrighted [year] [name of copyright owner]"
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James *
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * $Id: FSIDPProxy.java,v 1.3 2008/06/25 05:46:54 qcheng Exp $
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James *
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James */
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas Jamespackage com.sun.identity.federation.services;
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas Jamesimport com.sun.identity.federation.message.FSAuthnRequest;
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas Jamesimport com.sun.identity.federation.common.FSRedirectException;
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas Jamesimport javax.servlet.http.HttpServletRequest;
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas Jamesimport javax.servlet.http.HttpServletResponse;
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James/**
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * This interface <code>FSIDPProxy</code> is used to find a preferred Identity
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * Authenticating provider to proxy the authentication request.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @supported.all.api
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @deprecated This SPI is deprecated.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @see com.sun.identity.federation.services.FSRealmIDPProxy
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James */
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas Jamespublic interface FSIDPProxy {
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James /**
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * Returns the preferred IDP.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @param authnRequest original authnrequest
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @param hostProviderID ProxyIDP providerID.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @param request HttpServletRequest
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @param response HttpServletResponse
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @return providerID of the authenticating provider to be proxied.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * <code>null</code> to disable the proxying and continue for the local
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * authenticating provider.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @exception FSRedirectException if redirect was done
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @deprecated This method is deprecated.
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James * @see com.sun.identity.federation.services.FSRealmIDPProxy
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James */
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James public String getPreferredIDP (
e0d98b5e6f4b658de5303bf8d74576d2555db68eNicholas James FSAuthnRequest authnRequest,
String hostProviderID,
HttpServletRequest request,
HttpServletResponse response
) throws FSRedirectException;
}