a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
079f146cc6b658c00ec79e35a47d027c5039588aPeter Major * Copyright (c) 2010-2013 ForgeRock AS. All Rights Reserved.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * http://forgerock.org/license/CDDLv1.0.html
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * at http://forgerock.org/license/CDDLv1.0.html
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster *
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpackage com.sun.identity.saml2.plugins;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml2.common.SAML2Exception;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.saml2.protocol.AuthnRequest;
079f146cc6b658c00ec79e35a47d027c5039588aPeter Majorimport com.sun.identity.saml2.protocol.Response;
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport javax.servlet.http.HttpServletRequest;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport javax.servlet.http.HttpServletResponse;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster/**
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder * This class <code>DefaultIDPAdapter</code> implements a SAML2 Identity Provider Adapter.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class DefaultIDPAdapter implements SAML2IdentityProviderAdapter {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster /**
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Default Constructor.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster */
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public DefaultIDPAdapter() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder /**
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder * Default implementation, takes no action.
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder */
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder public void initialize(String hostedEntityID, String realm) {
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder // Do nothing
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder }
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder /**
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder * Default implementation, takes no action and returns false (no interruption to processing).
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder */
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder public boolean preSingleSignOn(
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String hostedEntityID,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String realm,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder HttpServletRequest request,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder HttpServletResponse response,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder AuthnRequest authnRequest,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String reqID) throws SAML2Exception {
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder return false;
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder }
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder /**
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder * Default implementation, takes no action and returns false (no interruption to processing).
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder */
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder public boolean preAuthentication(
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String hostedEntityID,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String realm,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder HttpServletRequest request,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder HttpServletResponse response,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder AuthnRequest authnRequest,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder Object session,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String reqID,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String relayState) throws SAML2Exception {
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder return false;
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder }
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder /**
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder * Default implementation, takes no action and returns false (no interruption to processing).
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder */
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder public boolean preSendResponse(
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder AuthnRequest authnRequest,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String hostProviderID,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String realm,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster HttpServletRequest request,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster HttpServletResponse response,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster Object session,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String reqID,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster String relayState) throws SAML2Exception {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster return false;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster }
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder /**
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder * Default implementation, takes no action.
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder */
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder public void preSendFailureResponse(
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder HttpServletRequest request,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder HttpServletResponse response,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String faultCode,
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder String faultDetail) throws SAML2Exception {
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder // Do nothing
7da3f239ac3deab008336f663f21e82d5d01aeadJonathan Scudder }
079f146cc6b658c00ec79e35a47d027c5039588aPeter Major
079f146cc6b658c00ec79e35a47d027c5039588aPeter Major @Override
079f146cc6b658c00ec79e35a47d027c5039588aPeter Major public void preSignResponse(AuthnRequest authnRequest, Response res, String hostProviderID, String realm,
079f146cc6b658c00ec79e35a47d027c5039588aPeter Major HttpServletRequest request, Object session, String relayState) throws SAML2Exception {
079f146cc6b658c00ec79e35a47d027c5039588aPeter Major // Do nothing
079f146cc6b658c00ec79e35a47d027c5039588aPeter Major }
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster}