FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Fix failure of calling authenticated APIs when multiple AsgardeoProvider instances are used by kavindadimuthu · Pull Request #334 · asgardeo/javascript · GitHub

Fix failure of calling authenticated APIs when multiple AsgardeoProvider instances are used - #334

Merged
DonOmalVindula merged 11 commits into
asgardeo:mainfrom
kavindadimuthu:refactor/singleton-to-multiton
Feb 18, 2026
Merged

Fix failure of calling authenticated APIs when multiple AsgardeoProvider instances are used#334
DonOmalVindula merged 11 commits into
asgardeo:mainfrom
kavindadimuthu:refactor/singleton-to-multiton

Conversation

kavindadimuthu commented Jan 23, 2026
edited
Loading

Copy link
Copy Markdown
Contributor

This pull request introduces adoption of a Multiton pattern in AsgardeoSPAClient, allowing multiple authentication contexts to coexist within the same application by managing client instances via unique IDs. Several React level APIs have been updated to accept and propagate these instance IDs, ensuring correct isolation and management of authentication state per instance.

Multiton pattern implementation and API updates for instance-awareness::

  • Refactored AsgardeoSPAClient in client.ts to implement a Multiton pattern, including new static methods for managing instances (getInstance, hasInstance, destroyInstance, getInstanceKeys, destroyAllInstances), and added an instance ID accessor (getInstanceId). [1] [2] [3]
  • Updated AsgardeoReactClient and all organization-related API functions (createOrganization, getAllOrganizations, getMeOrganizations, getOrganization) in React to accept an optional instanceId parameter and use the correct client instance for requests. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Related Issues

Related PRs

Checklist

  • Followed the CONTRIBUTING guidelines.
  • Manual test round performed and verified.
  • Documentation provided. (Add links if there are any)
  • Unit tests provided. (Add links if there are any)

Security checks

kavindadimuthu force-pushed the refactor/singleton-to-multiton branch from db06041 to 2af8495 Compare February 16, 2026 12:54

DonOmalVindula left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Reviewed the changes. Left some comments. Please address them before merging.

DonOmalVindula commented Feb 17, 2026
edited
Loading

Copy link
Copy Markdown
Contributor

Issue: packages/browser/src/utils/http.ts was not updated

This file still has module-level getInstance() calls without an instanceId:

request: AsgardeoSPAClient.getInstance().httpRequest.bind(AsgardeoSPAClient.getInstance()),
requestAll: AsgardeoSPAClient.getInstance().httpRequestAll.bind(AsgardeoSPAClient.getInstance()),

This is the same pattern you fixed in all the packages/react/src/api/*.ts files. If anything uses this http util, it will always route to instance 0. Suggested fix — convert to a factory function that accepts instanceId:

const createHttp = (instanceId: number = 0) => {
  const client = AsgardeoSPAClient.getInstance(instanceId);
  return {
    request: client.httpRequest.bind(client),
    requestAll: client.httpRequestAll.bind(client),
  };
};

export default createHttp;

Or alternatively, if this is only used internally, pass the instanceId through from the caller.

Comment thread packages/react/src/api/getScim2Me.ts Outdated
Comment thread .changeset/loud-memes-admire.md Outdated
Comment thread .changeset/loud-memes-admire.md Outdated

Copy link
Copy Markdown

🦋 Changeset detected

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

DonOmalVindula merged commit 2d6ad37 into asgardeo:main Feb 18, 2026
8 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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

Successfully merging this pull request may close these issues.

bug: Fails Authenticated API Calls When Multiple AsgardeoProvider Instances Are Used

3 participants


Back | FazBrowse Home | New Git URL