wso2 / carbon-kernel

Apache License 2.0
146 stars 657 forks source link

Introduce ExcludedUserStores claim property #4110

Closed PasinduYeshan closed 3 weeks ago

PasinduYeshan commented 4 weeks ago

Purpose

Introduce a new claim property to exclude specific user stores from unsupported attribute updates. This enhancement aims to prevent errors that occur when default features attempt to update attributes not supported by certain user stores (e.g., LDAP user stores). By maintaining a list of excluded user stores, the system can bypass updating unsupported attributes for those stores, ensuring smoother operation and better error handling.

Eg:

<Claim>
    <ClaimURI>http://wso2.org/claims/emailAddresses</ClaimURI>
    <DisplayName>Email Addresses</DisplayName>
    <AttributeID>emailAddresses</AttributeID>
    <Description>Claim to store email addresses of the user</Description>
    <ReadOnly>false</ReadOnly>
    <DisplayOrder>11</DisplayOrder>
    <SupportedByDefault />
    <ExcludedUserStores>
    <UserStore>LDAP1</UserStore>
    <UserStore>CUSTOM</UserStore>
    </ExcludedUserStores>
</Claim>

Related Issues

Additional Context

Multiple Emails and Mobile Numbers Feature: This improvement is particularly beneficial for features like multiple emails and mobile numbers per user. With this feature enabled, UIs display multiple claims instead of a single claim, treating one as the primary number. By excluding user stores that do not support certain attributes, we prevent errors when these features attempt to update unsupported attributes.

jenkins-is-staging commented 4 weeks ago

PR builder started Link: https://github.com/wso2/product-is/actions/runs/11607345059

jenkins-is-staging commented 4 weeks ago

PR builder completed Link: https://github.com/wso2/product-is/actions/runs/11607345059 Status: cancelled

jenkins-is-staging commented 4 weeks ago

PR builder started Link: https://github.com/wso2/product-is/actions/runs/11615133246

jenkins-is-staging commented 4 weeks ago

PR builder completed Link: https://github.com/wso2/product-is/actions/runs/11615133246 Status: success