4.5 Configuring Password Retrieval

If you have configured contracts that do not use a username and password for the credentials and you want to configure single sign-on to protected resources that require a user’s name and password, you need to configure the PasswordFetchClass to retrieve the user’s name and password. You need to create the class, then create a method from the class. The method needs to be assigned as the second method for the authentication contract that does not prompt the user for a username and password. When the Identity Server executes the contract, the PasswordFetchClass retrieves the username and password and stores them with the LDAP credentials, which makes them available for Identity Injection policies.

IMPORTANT:The PasswordFetchClass only works with eDirectory user stores.

  1. In the Administration Console, click Devices > Identity Servers > Edit > Local > Classes.

  2. Click New, then fill in the following fields:

    Display name: Specify a name for the class.

    Java class: Select PasswordFetchClass.

    The Java class path is configured automatically.

  3. Click Next, then configure the following general properties:

    Ignore password retrieval failure: Select this option if you want users to continue with their sessions when the Identity Server can’t retrieve their passwords. If this option is not selected, users are denied access when their passwords can’t be retrieved.

    Password to be retrieved: If your users have been configured to use a universal password, select Universal Password. Otherwise, select Simple Password.

    NOTE:Universal Password Retrieval options needs to be properly set in the configuration of the Universal Password policy, so that it allows the password to be retrieved from the User Store.

    For more information on Unable to retrieve Universal Password from eDirectory using PasswordFetchClass issue, see TID 7007114

  4. Click Finish.

  5. Create a method for this class.

    For instructions, see Section 3.3, Configuring Authentication Methods.

  6. Assign the password fetch method as the second method for a contract that is using one of the following for its authentication method:

  7. Update the Identity Server.

4.5.1 Retrieving Password from Different User Stores

The PasswordFetchClass has been enhanced to retrieve passwords from different user stores, than the authenticated user store by configuring properties of the authentication method in 3.1 SP2 IR3.

NOTE:Make sure that you have appropriate policies and permissions configured in the eDirectory to retrieve passwords.

4.5.2 Password Retrieval for Different User Store Lookup Settings

The Novell Access Manager supports password retrieval of the users who are mapped in the following ways:

  1. CN to CN

  2. distinguishedName (DN) to LDAP Attribute

NOTE:Please do not edit any property values and use the same values as mentioned in the examples below.

CN to CN Mapping

The CN users are mapped between two different user stores.

For Example - Active Directory CN is mapped with eDirectory CN for retrieving the password from eDirectory user store.

To achieve the password retrieval for this case add the below properties to Authentication Method which is using Passwordfetchclass

Property name  = com.novell.nidp.authentication.local.pwdfetch.userStoreToUse
Property value= local
Property name = com.novell.nidp.authentication.local.pwdfetch.userLookupType   
Property value= usingCN 

If the property value of the com.novell.nidp.authentication.local.pwdfetch.userStoreToUse is equal to local, then the passwordfetchclass tries fetching the password from the current user store (eDirectory). The principal user store is where the user is already authenticated using previous method (Active Directory).

If the property value of the com.novell.nidp.authentication.local.pwdfetch.userLookupType is equal to usingCN then the passwordfetchclass tries fetching the password from the current user store (eDirectory) by mapping the CN users between two different user stores.

distinguishedName to LDAP Attribute

The user names are detected and handled in LDAP attribute or DN users of theActive Directory are mapped with LDAP attribute of the eDirectory.

For Example - Active Directory DN is mapped with eDirectory LDAP attribute samAccountName for retrieving the password from eDirectory user store.

To achieve the password retrieval for this case add the below properties to Authentication Method, which is using Passwordfetchclass.

property name  = com.novell.nidp.authentication.local.pwdfetch.userStoreToUse  
property  value= local 
property name = com.novell.nidp.authentication.local.pwdfetch.userLookupType   
property  value= usingAttr 
property name = com.novell.nidp.authentication.local.pwdfetch.attributeName  
property  value = ldapattributename 
property name = com.novell.nidp.authentication.local.pwdfetch.attributeAutoProvision  
property value = false

If the property value of the com.novell.nidp.authentication.local.pwdfetch.userStoreToUse is equal to local, then the passwordfetchclass tries fetching the password from the current user store (eDirectory).The principal user store is where the user is already authenticated using previous method (Active Directory).

If the property value of the com.novell.nidp.authentication.local.pwdfetch.userLookupType is equal to usingAttr,then the passwordfetchclass tries fetching the password from the current user store (eDirectory) by mapping the DN users of the Active Directory with LDAP attribute of the eDirectory.

If the property value of the com.novell.nidp.authentication.local.pwdfetch.attributeName is equal to ldapattributename (samAccountName), then the passwordfetchclass tries fetching the password from the current user store based on the value of the LDAP attribute samAccountName, which are mapped to DN users of the Active Directory.

If the property value of the com.novell.nidp.authentication.local.pwdfetch.attributeAutoProvision is equal to false, then the passwordfetchclass tries fetching the password from LDAP attribute (samAccountName) which has the value of the DN users of the Active Directory and retrieves the password.

If the property value of the com.novell.nidp.authentication.local.pwdfetch.attributeAutoProvision is equal to true, then the passwordfetchclass tries fetching the password from LDAP attribute (samAccountName) which has the value of the DN users of the Active Directory and retrieves the password, else it prompts to log in to the eDirectory.

If the log in is successful, then the LDAP attribute(samAccountName) value populates in the DN user of the Active Directory. Next time when the user is logged in the same value is used.