Skip to content

Commit

Permalink
Add example for switching organizations
Browse files Browse the repository at this point in the history
  • Loading branch information
frederikprijck committed Jun 6, 2023
1 parent eb63035 commit 2061c07
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions EXAMPLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,27 @@ await client.loginWithPopup({
});
```

### Switch to a different organizations

When working with multiple organizations, there might be a situation where you want your users to be able to switch between different organizations.

Important to realize is that the authentication state in the SDK is build around the organization, so in order to switch organizations, you need to logout and login again. However, it's enough to log out from the SDK and not from Auth0. Doing that ensures that, when calling login again, the user might not be prompted for their credentials depending on whether or not they have an active session with Auth0.

```ts
async function switchOrganization(newOrganization: string) {
await client.logout({ openUrl: false });
await client.loginWithRedirect({
authorizationParams: {
organization: newOrganization
}
});
}
```

**Note:** Ensure to pass any additional parameters to `loginWithRedirect` (or `loginWithPopup`) just as you might have passed on other occurences of calling login.

Doing the above will ensure the SDK removes any token that is linked to the current organization, and logs in again to retrieve tokens for the new organization.

### Accept user invitations

Accept a user invitation through the SDK by creating a route within your application that can handle the user invitation URL, and log the user in by passing the `organization` and `invitation` parameters from this URL. You can either use `loginWithRedirect` or `loginWithPopup` as needed.
Expand Down

0 comments on commit 2061c07

Please sign in to comment.