org.sourceid.saml20.service
Interface AccountLinkingService

All Known Implementing Classes:
AccountLinkingServiceDBImpl, AccountLinkingServiceMapImpl

public interface AccountLinkingService

Defines the methods needed by PingFederate to store, retrieve, and terminate account links.

Note that this interface is utilized only when operating PingFederate as an SP and when one or more IdP connection are configured to use account linking as the means to identify the local identifier of the subject.

Author:
Brian Campbell

Method Summary
 java.lang.String lookupLink(java.lang.String idpEntityId, java.lang.String authnAdapterId, java.lang.String externalIdentifier)
          Lookup a local user id keyed from he composite key of idpEntityId, authnaAdapterId, and externalIdentifier.
 void storeLink(java.lang.String localIdentifier, java.lang.String idpEntityId, java.lang.String authnAdapterId, java.lang.String externalIdentifier)
          Store the account link - an association of the composite key of idpEntityId, authnaAdapterId, and externalIdentifier to the localIdentifier.
 void terminateLink(java.lang.String idpEntityId, java.lang.String authnAdapterId, java.lang.String externalIdentifier)
          Terminate the account link identified by the he composite key of idpEntityId, authnaAdapterId, and externalIdentifier.
 

Method Detail

lookupLink

java.lang.String lookupLink(java.lang.String idpEntityId,
                            java.lang.String authnAdapterId,
                            java.lang.String externalIdentifier)
                            throws AccountLinkingServiceException
Lookup a local user id keyed from he composite key of idpEntityId, authnaAdapterId, and externalIdentifier.

Parameters:
idpEntityId - the entity id of the IdP partner connection that issued the external identifier.
authnAdapterId - the id of the SpAuthenticationAdapter instance.
externalIdentifier - the external identifier sent by the IdP.
Returns:
the the local user id of the principal or null if no link exists.
Throws:
AccountLinkingServiceException - for any unexpected runtime problem that the implementation cannot handle.

storeLink

void storeLink(java.lang.String localIdentifier,
               java.lang.String idpEntityId,
               java.lang.String authnAdapterId,
               java.lang.String externalIdentifier)
               throws AccountLinkingServiceException
Store the account link - an association of the composite key of idpEntityId, authnaAdapterId, and externalIdentifier to the localIdentifier.

Parameters:
localIdentifier - the the local user id of the principal.
idpEntityId - the entity id of the IdP partner connection that issued the external identifier.
authnAdapterId - the id of the SpAuthenticationAdapter instance.
externalIdentifier - the external identifier sent by the IdP.
Throws:
AccountLinkingServiceException - for any unexpected runtime problem that the implementation cannot handle.

terminateLink

void terminateLink(java.lang.String idpEntityId,
                   java.lang.String authnAdapterId,
                   java.lang.String externalIdentifier)
                   throws AccountLinkingServiceException
Terminate the account link identified by the he composite key of idpEntityId, authnaAdapterId, and externalIdentifier.

Parameters:
idpEntityId - the entity id of the IdP partner connection that issued the external identifier.
authnAdapterId - the id of the SpAuthenticationAdapter instance.
externalIdentifier - the external identifier sent by the IdP.
Throws:
AccountLinkingServiceException - for any unexpected runtime problem that the implementation cannot handle.


Copyright 2007 Ping Identity Corp. All rights reserved.