Details
-
Story
-
Status: Closed
-
Minor
-
Resolution: Completed
-
7.3.10 DXP GA1
-
7.3.x
-
Committed
-
AppSec Iteration 54, AppSec Iteration 55, AppSec Iteration 56, AppSec Iteration 57, AppSec Iteration 58, AppSec Iteration 59, AppSec Iteration 60, AppSec Iteration 61, AppSec Iteration 62, AppSec Iteration 63, AppSec Iteration 64
Description
Motivation
When the IdP sends the username into an attribute instead of using the NameID, even if the screenName is properly mapped to this attribute, Liferay looks for the user into the users list using the NameID.
This happens, for example when transient or persistent NameID formats are used. They generates ID which format are not compatible with the screenName format, so they can't be used as screenName, and the mapping only works to create the user, but not to check if the user exists.
Steps to reproduce:
- Use an IdP which allows transient format for Name ID
- Map screenName = <attribute_that_contains_username>
- Log in -> The user will be created and user's data looks fine
- Log out
- Log in again with the same user
- You'll get this error:
ERROR [http-nio2-8080-exec-36][WebSsoProfileImpl:809] Screen name <your_user_name> must not be duplicate but is already used by user <user_id>
Feature request:
The background reason why the transient mode is not working, may be that we don't provide the option to map the screen name with another attribute that differs from the Name ID (well, actually we provide it but it doesn't work). So If we provide a configuration checkbox to do this, or if we detect automatically that the screen name is mapped, then we should check if the user exists using this value instead of the Name ID. This automatically will solve the transient and other NameId modes supported in SAML2.
Acceptance Criteria
- As an Instance Administrator, I want a SAML assertion attribute to be mapped to screenName even if it differs from NameID to prevent having screen name mapping related duplication error.
Attachments
Issue Links
- causes
-
LPS-128448 User not found in LDAP is not matched (created/updated) via portal user matching
- Closed
-
LPS-129373 Portal admin user cannot login when LDAP import is enabled on SP
- Closed
- depends on
-
LPS-123218 As an Instance Administrator, I want to use the UUID to sync users with an IdP
-
- Closed
-
- Is blocked by
-
LPS-127030 NoClassDefFoundError and ExceptionInInitializerError unit test failures
- Closed
- is related to
-
LPS-138777 Create a test plan for SAML attribute mapping
-
- Closed
-
- relates
-
LRDOCS-9354 User Document for SAML enhancements
-
- Closed
-
- Testing discovered
-
LPS-142916 The "Use to Match Users" options at mapping entries should be enable only if the new mapping method has been selected
- Closed