Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Login resolver improvement when large number of user stores present to address slowness and enable multi-attribute support #21099

Open
johannnallathamby opened this issue Sep 12, 2024 · 0 comments

Comments

@johannnallathamby
Copy link
Member

Describe the improvement
When WSO2 IS having large number of user stores the users needs to be searched in each and every user store during the login/authentication flow. This is happening due to the current architecture of WSO2 IS. The iteration of user stores will continue until user is found in a specific user store. To address this issue there is an already implemented extension/customization[1] but this extension disables Multi-attribute features.

The mentioned implementation[1] will be utilized in following flows as well

  1. Identifier first authentication.
  2. Basic authentication.
  3. Request path authenticator.
  4. Authentication REST APIs.
  5. OAuth Password grant.
  6. Password recovery.

Based on the given extension[1] enhance the product to support Multi-attribute features along with the performance improvement.

  1. Enhance the existing solution[1] in a way to enable support for Multi-attribute features along side.
  2. Enhance the existing DB schema[1] to add new column "identifier" which will persist the value of the identifier that is being used during the authentication flow to identify the user.

Since WSO2 IS supports adding multiple user stores this problem of slowness when there are large number of user stores must be addressed.

Additional context
[1] - https://github.com/wso2-cs/client-reliance-iam/blob/is-5.11.0/com.reliance.identity.login.resolver.last.seen.user/README.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant