001/** 002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 003 * 004 * Copyright (c) 2007 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: FSRealmAttributeMapper.java,v 1.2 2008/06/25 05:46:55 qcheng Exp $ 026 * 027 */ 028 029package com.sun.identity.federation.services; 030 031import java.util.List; 032import java.util.Map; 033 034/** 035 * <p> 036 * The interface <code>FSRealmAttributeMapper</code> is a plugin for 037 * mapping the <code>Attribute</code>s during the single sign-on at the 038 * <code>ServiceProvider</code> of the Liberty protocols. The service 039 * provider while it is validating the <code>Assertion</code> uses this 040 * plugin to map the <code>Attribute</code>s that are passed from the 041 * Identity provider to local attributes so that the assertion consumer 042 * service will populate these attributes to the application via the 043 * single sign-on token. 044 * </p> 045 * @supported.all.api 046 */ 047public interface FSRealmAttributeMapper { 048 049 /** 050 * Returns the map of local attributes for the given list of attribute 051 * statements. 052 * @param attributeStatements list of <code>AttributeStatement</code>s. 053 * @param realm The realm under which the entity resides. 054 * @param hostEntityId Hosted provider entity id. 055 * @param remoteEntityId Remote provider entity id. 056 * @param token Single sign-on session token. 057 * @return map of attribute value pairs. This map will have the key 058 * as the attribute name and the value is the attribute value. 059 */ 060 public Map getAttributes( 061 List attributeStatements, 062 String realm, 063 String hostEntityId, 064 String remoteEntityId, 065 Object token); 066 067}