/**
* =============================================================================
*
* ORCID (R) Open Source
* http://orcid.org
*
* Copyright (c) 2012-2014 ORCID, Inc.
* Licensed under an MIT-Style License (MIT)
* http://orcid.org/open-source-license
*
* This copyright and license information (including a link to the full license)
* shall be included in its entirety in all copies or substantial portion of
* the software.
*
* =============================================================================
*/
package org.orcid.core.manager;
import java.io.UnsupportedEncodingException;
import java.util.Map;
import org.orcid.pojo.HeaderCheckResult;
import org.orcid.pojo.RemoteUser;
public interface InstitutionalSignInManager {
static final String[] POSSIBLE_REMOTE_USER_HEADERS = new String[] { "persistent-id", "edu-person-unique-id", "targeted-id-oid", "targeted-id" };
static final String SHIB_IDENTITY_PROVIDER_HEADER = "shib-identity-provider";
static final String EPPN_HEADER = "eppn";
static final String DISPLAY_NAME_HEADER = "displayname";
static final String GIVEN_NAME_HEADER = "givenname";
static final String SN_HEADER = "sn";
void createUserConnectionAndNotify(String idType, String remoteUserId, String displayName, String providerId, String userOrcid, Map<String, String> headers)
throws UnsupportedEncodingException;
void sendNotification(String userOrcid, String providerId) throws UnsupportedEncodingException;
HeaderCheckResult checkHeaders(Map<String, String> originalHeaders, Map<String, String> currentHeaders);
RemoteUser retrieveRemoteUser(Map<String, String> headers);
String retrieveDisplayName(Map<String, String> headers);
}