IPRPSignoutRequest.java revision a688bcbb4bcff5398fdd29b86f83450257dc0df4
/**
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
* See the License for the specific language governing
* permission and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at opensso/legal/CDDLv1.0.txt.
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* $Id: IPRPSignoutRequest.java,v 1.7 2009/10/28 23:59:00 exu Exp $
*
*/
/**
* This class implements the sign-out request for both identity provider and
* service provider.
*/
public class IPRPSignoutRequest extends WSFederationAction {
/**
* Creates a new instance of <code>RPSigninRequest</code>.
*
* @param request HTTPServletRequest for this interaction
* @param response HTTPServletResponse for this interaction
* @param wreply Reply URL, to which control is to be transferred
* on successful completion of sign-out. May be null, in which case, control
* stays with the provider.
*/
}
/**
* Processes the sign-out request, returning a response via the
* HttpServletResponse passed to the constructor.
*/
{
request.getRequestURI());
throw new WSFederationException(
}
throw new WSFederationException(
}
// retrieve entity id from meta alias
throw new WSFederationException(
}
try {
} catch (SessionException se) {
if ( debug.messageEnabled() ) {
}
// Don't care too much about session exceptions here - usual cause
// is trying to log out after the session has expired
}
try {
// Strategy here is to do logouts in parallel via iframes, provide a
// link to wreply, if any
{
}
wreply);
entityId);
{
{
idpList[0]);
config =
if ( displayName == null )
{
}
if (debug.messageEnabled()) {
url);
}
}
{
{
config =
if ( displayName == null )
{
displayName = spList[i];
}
spList[i]);
endpoint + "?wa=" +
if (debug.messageEnabled()) {
url);
}
}
// Can't remove a session property, so just set it to
// an empty string
}
if (debug.messageEnabled()) {
+ "destroying session " + session);
}
}
} catch (ServletException se) {
if ( debug.messageEnabled() ) {
}
throw new WSFederationException(se);
} catch (SessionException se) {
if ( debug.messageEnabled() ) {
}
throw new WSFederationException(se);
}
// Can't pass session, since we just invalidated it!
data,
null);
}
}