001/** 002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 003 * 004 * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved 005 * 006 * The contents of this file are subject to the terms 007 * of the Common Development and Distribution License 008 * (the License). You may not use this file except in 009 * compliance with the License. 010 * 011 * You can obtain a copy of the License at 012 * https://opensso.dev.java.net/public/CDDLv1.0.html or 013 * opensso/legal/CDDLv1.0.txt 014 * See the License for the specific language governing 015 * permission and limitations under the License. 016 * 017 * When distributing Covered Code, include this CDDL 018 * Header Notice in each file and include the License file 019 * at opensso/legal/CDDLv1.0.txt. 020 * If applicable, add the following below the CDDL Header, 021 * with the fields enclosed by brackets [] replaced by 022 * your own identifying information: 023 * "Portions Copyrighted [year] [name of copyright owner]" 024 * 025 * $Id: FSRealmIDPProxy.java,v 1.2 2008/06/25 05:46:55 qcheng Exp $ 026 * 027 */ 028 029 030package com.sun.identity.federation.services; 031 032import com.sun.identity.federation.message.FSAuthnRequest; 033import com.sun.identity.federation.common.FSRedirectException; 034import javax.servlet.http.HttpServletRequest; 035import javax.servlet.http.HttpServletResponse; 036 037/** 038 * This interface <code>FSRealmIDPProxy</code> is used to find a preferred 039 * Identity Authenticating provider to proxy the authentication request. 040 * @supported.all.api 041 */ 042public interface FSRealmIDPProxy { 043 044 /** 045 * Returns the preferred IDP. 046 * @param authnRequest original authnrequest 047 * @param realm The realm under which the entity resides. 048 * @param hostProviderID ProxyIDP providerID. 049 * @param request HttpServletRequest 050 * @param response HttpServletResponse 051 * @return providerID of the authenticating provider to be proxied. 052 * <code>null</code> to disable the proxying and continue for the local 053 * authenticating provider. 054 * @exception FSRedirectException if redirect was done 055 */ 056 public String getPreferredIDP ( 057 FSAuthnRequest authnRequest, 058 String realm, 059 String hostProviderID, 060 HttpServletRequest request, 061 HttpServletResponse response 062 ) throws FSRedirectException; 063}