diff --git a/.version b/.version
index e6611d6a..b5da024f 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-v5.0.0-beta.3
+v5.0.0-beta.4
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f943c47..32416b02 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,32 @@
# Change Log
+## [v5.0.0-beta.4](https://github.com/auth0/react-native-auth0/tree/v5.0.0-beta.4) (2025-07-21)
+
+[Full Changelog](https://github.com/auth0/react-native-auth0/compare/v5.0.0-beta.3...v5.0.0-beta.4)
+
+**💡 Major Refactor**: Version 5.0 features a complete architectural overhaul for improved performance, maintainability, and multi-platform extensibility. Check the [Migration Guide](https://github.com/auth0/react-native-auth0/blob/master/MIGRATION_GUIDE.md) for detailed upgrade instructions.
+
+**⚠️ BREAKING CHANGES**
+
+- feat: architectural refactor for multi-platform extensibility [\#1233](https://github.com/auth0/react-native-auth0/pull/1233) ([subhankarmaiti](https://github.com/subhankarmaiti))
+
+**Added**
+
+- Fix Documentation Typo: 'retreive' → 'retrieve' [\#1183](https://github.com/auth0/react-native-auth0/pull/1183) ([tinchomengo](https://github.com/tinchomengo))
+- feat: added react native web support [\#1233](https://github.com/auth0/react-native-auth0/pull/1233) ([subhankarmaiti](https://github.com/subhankarmaiti))
+
+**Changed**
+
+- feat(deps): Upgrade React Native to 0.80.1 [\#1237](https://github.com/auth0/react-native-auth0/pull/1237) ([subhankarmaiti](https://github.com/subhankarmaiti))
+
+**Fixed**
+
+- fix(iOS): Fix ephemeralSession parameter type conversion in webAuth [\#1238](https://github.com/auth0/react-native-auth0/pull/1238) ([subhankarmaiti](https://github.com/subhankarmaiti))
+
+**Security**
+
+- chore: pin prettier-related packages to prevent malicious package installation [\#1241](https://github.com/auth0/react-native-auth0/pull/1241) ([subhankarmaiti](https://github.com/subhankarmaiti))
+
## [v5.0.0-beta.3](https://github.com/auth0/react-native-auth0/tree/v5.0.0-beta.3) (2025-06-23)
[Full Changelog](https://github.com/auth0/react-native-auth0/compare/v5.0.0-beta.2...v5.0.0-beta.3)
diff --git a/FAQ.md b/FAQ.md
index 3434dce4..bea4bb7f 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -9,6 +9,8 @@
7. [Auth0 web browser gets killed when going to the background on Android](#7-auth0-web-browser-gets-killed-when-going-to-the-background-on-android)
8. [How to resolve the _Failed to start this transaction, as there is an active transaction at the moment_ error?](#8-how-to-resolve-the-failed-to-start-this-transaction-as-there-is-an-active-transaction-at-the-moment-error)
9. [How can I prevent the autogenerated redirect_uri from breaking if the applicationId has mixed cases or special characters in it on Android?](#9-how-can-i-prevent-the-autogenerated-redirect_uri-from-breaking-if-the-applicationId-has-mixed-cases-or-special-characters-in-it-on-android)
+10. [Why doesn't `await authorize()` work on the web? How do I handle login?](#10-why-doesnt-await-authorize-work-on-the-web-how-do-i-handle-login)
+11. [Why do my users get logged out frequently? How do I keep them logged in?](#11-why-do-my-users-get-logged-out-frequently-how-do-i-keep-them-logged-in)
## 1. How can I have separate Auth0 domains for each environment on Android?
@@ -262,3 +264,76 @@ If you don't need SSO, consider using `ephemeral sessions` or `SFSafariViewContr
## 9. How can I prevent the autogenerated redirect_uri from breaking if the applicationId has mixed cases or special characters in it on Android ?
It is recommended to have your applicationId in lower case without special characters to prevent any mismatch with the generated redirect_uri. But in the scenario where you require your applicationId to be of mixed case, to avoid any mismatch , the user can pass a `redirectUri` which matches the one provided in the manage dashboard as part of the `AgentLoginOptions` property.
+
+## 10. Why doesn't `await authorize()` work on the web? How do I handle login?
+
+This is a key difference between native and web platforms.
+
+- **On Native (iOS/Android):** `authorize()` opens an in-app browser overlay. Your app continues running in the background. When the user authenticates, the browser dismisses and the `authorize()` promise resolves with the credentials. `await` works as expected.
+
+- **On Web:** `authorize()` triggers a **full-page browser redirect** to the Auth0 Universal Login page. Your application's current state is lost. After authentication, the user is redirected back to your app, which causes your entire React application to reload and re-initialize from scratch. Because of this, the original `authorize()` promise is never able to resolve.
+
+**The Solution: Use the `useAuth0` Hook**
+
+The recommended way to handle this is by using the `Auth0Provider` and `useAuth0` hook. They are designed to manage this flow automatically:
+
+1. **On initial load:** The provider checks if the user is returning from a login redirect. If so, it processes the credentials in the URL and establishes a session.
+2. **State Management:** The `user` and `isLoading` properties from the `useAuth0` hook will automatically update to reflect the authenticated state after the redirect is handled.
+
+Your UI should be reactive to the `user` and `isLoading` state, rather than trying to `await` the result of `authorize()`.
+
+```jsx
+import { useAuth0 } from 'react-native-auth0';
+
+const MyComponent = () => {
+ const { authorize, user, isLoading } = useAuth0();
+
+ // This component will re-render after the redirect,
+ // and `user` will be populated.
+ if (isLoading) {
+ return Loading...;
+ }
+
+ return (
+
+ {user ? (
+ Welcome, {user.name}!
+ ) : (
+
+ );
+};
+```
+
+## 11. Why do my users get logged out frequently? How do I keep them logged in?
+
+If your users are being asked to log in again after a short period (e.g., when they close and reopen the app), it's likely because the SDK cannot silently refresh their tokens.
+
+The `getCredentials()` method is responsible for retrieving tokens. If the `accessToken` is expired, it will attempt to get a new one using a `refreshToken`. This process happens silently without requiring user interaction.
+
+To enable this, you **must** request the `offline_access` scope during the initial login. This scope is what signals to Auth0 that you want to receive a `refreshToken`.
+
+**The Solution: Add the `offline_access` Scope**
+
+When calling `authorize`, ensure you include `offline_access` in the scope string.
+
+```javascript
+import { useAuth0 } from 'react-native-auth0';
+
+const { authorize } = useAuth0();
+
+const handleLogin = async () => {
+ await authorize({
+ scope: 'openid profile email offline_access', // <-- Add this scope
+ });
+};
+```
+
+By including this scope, the SDK will receive and securely store a `refreshToken`. This token will then be used by `getCredentials()` to maintain the user's session across app launches, providing a much smoother user experience.
diff --git a/MIGRATION_GUIDE.md b/MIGRATION_GUIDE.md
index 28c02d23..79a56121 100644
--- a/MIGRATION_GUIDE.md
+++ b/MIGRATION_GUIDE.md
@@ -73,36 +73,7 @@ To align with modern JavaScript standards, all properties on the `user` object a
| `user.phone_number` | `user.phoneNumber` |
| ...and so on. | |
-### Change #2: Credentials Object uses `expiresAt`
-
-The `Credentials` object no longer includes `expiresIn` (a duration). It now provides `expiresAt`, an absolute **UNIX timestamp** (in seconds), making expiration checks simpler and less error-prone.
-
-**✅ Action Required:** Replace all logic using `expiresIn` with `expiresAt`.
-
-**Before:**
-
-```javascript
-const expiresAt = Date.now() / 1000 + credentials.expiresIn;
-if (isExpired(expiresAt)) {
- // ...
-}
-```
-
-**After:**
-
-```javascript
-// Direct comparison is now possible
-if (credentials.expiresAt < Date.now() / 1000) {
- // ...
-}
-
-// Or, use the new helper method (if you have an instance of the Credentials model):
-if (credentials.isExpired()) {
- // ...
-}
-```
-
-### Change #3: Standardized `AuthError` Object
+### Change #2: Standardized `AuthError` Object
All errors thrown by the library are now instances of a single, consistent `AuthError` class. This replaces multiple error types like `CredentialsManagerError`.
@@ -130,32 +101,73 @@ catch (e) {
}
```
-### Change #4: Updated `authorize` and `clearSession` Signatures
+### Change #3: Platform-Specific API Availability
+
+With the introduction of **React Native Web support**, some methods are only available on native platforms for security reasons. Direct authentication grants that handle user credentials (like passwords or OTP codes) are **not supported in the browser** and will throw a `NotImplemented` error.
+
+**✅ Action Required:** If you are building for the web, ensure all authentication flows are initiated via the redirect-based `authorize()` method. Review the platform support table in the [README](README.md#features-and-platform-support) for a full list of platform-specific methods.
+
+### Change #4: `authorize()` Behavior on Web
-For improved clarity, SDK-specific options (like `ephemeralSession`) have been moved into a separate, second `options` object.
+On React Native Web, the `authorize()` method now triggers a **full-page redirect** to Auth0. As a result, the promise returned by `authorize()` will **not resolve** in the browser. Your application must be structured to handle the user state upon reloading after the redirect.
-**✅ Action Required:** Restructure calls to `authorize` and `clearSession`.
+**✅ Action Required:** Review the new **[FAQ entry](#faq-authorize-web)** for guidance on how to correctly handle the post-login flow on the web. The `Auth0Provider` and `useAuth0` hook are designed to manage this flow automatically.
+
+### Change #5: New Peer Dependency for Web Support
+
+To support the web platform, the library now has an **optional peer dependency** on `@auth0/auth0-spa-js`.
+
+**✅ Action Required:** If you are using `react-native-auth0` in a React Native Web project, you **must** install this package. Native-only projects can ignore this.
+
+```bash
+npm install @auth0/auth0-spa-js
+```
+
+### Change #6: Hook Methods Now Throw Error
+
+Previously, all hook-related methods such as `getCredentials()`, `saveCredentials()`, etc., did not throw error directly. Instead, any issues were silently handled and surfaced via the error property in `useAuth0()`:
+
+```javascript
+const { error } = useAuth0();
+// error would be populated if getCredentials failed
+```
+
+**What's Changed:**
+
+These methods now throw error directly to the caller. You must handle them explicitly using try...catch blocks.
+
+**✅ Action Required:** Update your code to handle error for each function call individually.
**Before:**
```javascript
-// Mixed parameters and options
-await authorize({
- scope: 'openid profile',
- ephemeralSession: true,
-});
+const { getCredentials, error } = useAuth0();
+---
+await getCredentials();
+// Check error manually later
```
**After:**
```javascript
-// Parameters and options are now separate arguments
-await authorize(
- { scope: 'openid profile' }, // 1. OIDC / Auth0 Parameters
- { ephemeralSession: true } // 2. SDK-Specific Options
-);
+const { getCredentials, error } = useAuth0();
+
+try {
+ await getCredentials();
+} catch (e) {
+ console.error(e);
+}
```
+All thrown errors are instances of the new standardized AuthError class described in Change #2.
+
+### Recommended Reading
+
+After migrating, we highly recommend reviewing the updated **[FAQ](FAQ.md)** for detailed explanations on:
+
+- How to handle the `authorize()` redirect flow on the web.
+- The importance of the `offline_access` scope for keeping users logged in.
+
## Upgrading from v3 -> v4
- **If your project is built with Expo:**
diff --git a/REACT_NATIVE_WEB_SETUP.md b/REACT_NATIVE_WEB_SETUP.md
new file mode 100644
index 00000000..d47f21ef
--- /dev/null
+++ b/REACT_NATIVE_WEB_SETUP.md
@@ -0,0 +1,62 @@
+# React Native Web Configuration Guide
+
+This guide provides instructions for using React Native Auth0 with React Native Web.
+
+## What is React Native Web?
+
+React Native Web is a library that provides React Native components and APIs that are compatible with React and the web. It allows you to write your application once using React Native and run it on iOS, Android, and web platforms.
+
+**Official React Native Web Repository:** https://github.com/necolas/react-native-web
+
+## Setup Instructions
+
+If you want to use React Native Web with React Native Auth0, follow these steps:
+
+### 1. Install React Native Web
+
+Follow the official React Native Web installation guide:
+**https://necolas.github.io/react-native-web/docs/setup/**
+
+### 2. Install Auth0 SPA JS (Required for Web)
+
+React Native Auth0 requires `@auth0/auth0-spa-js` for web platform support:
+
+```bash
+# Using npm
+npm install @auth0/auth0-spa-js
+
+# Using yarn
+yarn add @auth0/auth0-spa-js
+```
+
+### 3. Use React Native Auth0
+
+Once React Native Web and Auth0 SPA JS are installed, you can use React Native Auth0 exactly as you would in a native React Native app. The library will automatically detect the web platform and use the appropriate implementation.
+
+## Example Usage
+
+```jsx
+import React from 'react';
+import { Auth0Provider } from 'react-native-auth0';
+
+const App = () => (
+
+ {/* Your app components */}
+
+);
+
+export default App;
+```
+
+## Resources
+
+- **React Native Web Setup Guide**: https://necolas.github.io/react-native-web/docs/setup/
+- **React Native Web GitHub**: https://github.com/necolas/react-native-web
+- **Auth0 SPA JS**: https://github.com/auth0/auth0-spa-js
+- **React Native Auth0 Documentation**: https://auth0.github.io/react-native-auth0/
+
+## Notes
+
+- React Native Auth0 automatically detects when running on web and uses the Auth0 SPA JS library under the hood
+- All React Native Auth0 APIs work the same across platforms (iOS, Android, and Web)
+- For web-specific examples, see the [EXAMPLES-WEB.md](https://github.com/auth0/react-native-auth0/blob/master/EXAMPLES-WEB.md) file in this repository
diff --git a/README.md b/README.md
index 7fc21ff2..e0185cde 100644
--- a/README.md
+++ b/README.md
@@ -23,8 +23,10 @@ We're excited to announce the release of react-native-auth0 `v4.0.0` and the bet
- [Expo Quickstart](https://auth0.com/docs/quickstart/native/react-native-expo/interactive)
- [Sample App](https://github.com/auth0-samples/auth0-react-native-sample/tree/master/00-Login-Hooks)
- [Expo Sample App](https://github.com/auth0-samples/auth0-react-native-sample/tree/master/00-Login-Expo)
+- [React Native Web Setup](https://github.com/auth0/react-native-auth0/blob/master/REACT_NATIVE_WEB_SETUP.md)
- [FAQs](https://github.com/auth0/react-native-auth0/blob/master/FAQ.md)
- [Examples](https://github.com/auth0/react-native-auth0/blob/master/EXAMPLES.md)
+- [Examples for Web](https://github.com/auth0/react-native-auth0/blob/master/EXAMPLES-WEB.md)
- [Docs Site](https://auth0.github.io/react-native-auth0/)
## Getting Started
diff --git a/docs/.nojekyll b/docs/.nojekyll
deleted file mode 100644
index e2ac6616..00000000
--- a/docs/.nojekyll
+++ /dev/null
@@ -1 +0,0 @@
-TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
\ No newline at end of file
diff --git a/docs/assets/hierarchy.js b/docs/assets/hierarchy.js
index e6f7057f..7ba57c88 100644
--- a/docs/assets/hierarchy.js
+++ b/docs/assets/hierarchy.js
@@ -1,2 +1,2 @@
window.hierarchyData =
- 'eJyNj8FuwjAQRP9lzgZSA43xrUUcei43lIOVLIqFYyN7I1Gh/HsVUKK0agWnlXZn9N5eEUPgBH1YqVzIfFkIRDo6KtkGn6CvkHLTD28agsbeNhRa3sUYIgRO1lfQL1IJtNFBo3QmJUqLaW5ec+Mg7jdocKpmfXF2X3QCMl9OGO8m0WPA15nSfIw+YAiUtXVVJA99kHJT9FCVTaBvLdfZNnimC394png0JY0Ccv06CNjhODj82fzXZ6z3f69U/kvhkw0/j72ln0D9fF9lRdd139dNqDE=';
+ 'eJydlk1v4jAQhv+Lz9M2E+eL3CrEodLutqKt9lChyoWhRCRx1zZsdyv++wpQkRNCmewFITIPz+tx4syHMFo7K/KnKAaJCURZAhLDCQhD85KmrtC1FfmHiOLtZ60qErm4XrlFcPu2vwhiWdQzkYdxAmJlSpGLonZk5mpK9sovvVy4qhQgpqWyVuTC2dnFlr041G8vLopyZqgW+VMoBxDGyWQDIo1aem2Kv/RoSn6KFsEIswGRoef9pl/1yrGl7XKeEQO/06P36ULVr3SnjKrIkTknPQaYWgw7tD+UK9Z0r6eFKntH6IaZcUK/8XfK2t/azMakyoqd4wTFDCADL8CY5obs4kEvqWb7uyGuPmno13pJvLuuUcuURV3NLsnaUaUK/sZ/QXKDZCeC3Ff2v2I0OGaIOG4+80Xdrw1dCFOdyLa6z8KPAaY2xbb21r310zYArjY70uqXnlofYGqzo/0d01SvyfwZ6hn/pP2CZAYZ+G3/PlfDhSpL6nPad0Ncvd/+R0vmpp5rtvoY4GnDQDZONkvu84HtcbJ2UtwAAy/A0JBytF0M296FMNXSV+/fjz1mqWOAqY39l8lPeunhbFUzhUnqCR+KivTKjYzR5mDDMPu07f6L7JVfd9Kz/2EDQjYGljH9WpF1vDU9777Xqny+bHJ9B9Q0ggwBgxgQQ8AQAWUAKBPACAGjDDCOARMJmCJgmgFmMeAAAQcZhIGEMBhMdotJWvPt2W55izjUn+lac7hO0p1ZyvZgP9S1o3d3462Z2c1OnHfLRFm7A/dOuZ7uHdJ3E6WUk81m8w8N22eW';
diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css
index fa31cd86..376632e0 100644
--- a/docs/assets/highlight.css
+++ b/docs/assets/highlight.css
@@ -29,6 +29,8 @@
--dark-hl-13: #d4d4d4;
--light-hl-14: #0070c1;
--dark-hl-14: #4fc1ff;
+ --light-hl-15: #098658;
+ --dark-hl-15: #b5cea8;
--light-code-background: #ffffff;
--dark-code-background: #1e1e1e;
}
@@ -50,6 +52,7 @@
--hl-12: var(--light-hl-12);
--hl-13: var(--light-hl-13);
--hl-14: var(--light-hl-14);
+ --hl-15: var(--light-hl-15);
--code-background: var(--light-code-background);
}
}
@@ -71,6 +74,7 @@
--hl-12: var(--dark-hl-12);
--hl-13: var(--dark-hl-13);
--hl-14: var(--dark-hl-14);
+ --hl-15: var(--dark-hl-15);
--code-background: var(--dark-code-background);
}
}
@@ -91,6 +95,7 @@
--hl-12: var(--light-hl-12);
--hl-13: var(--light-hl-13);
--hl-14: var(--light-hl-14);
+ --hl-15: var(--light-hl-15);
--code-background: var(--light-code-background);
}
@@ -110,6 +115,7 @@
--hl-12: var(--dark-hl-12);
--hl-13: var(--dark-hl-13);
--hl-14: var(--dark-hl-14);
+ --hl-15: var(--dark-hl-15);
--code-background: var(--dark-code-background);
}
@@ -158,6 +164,9 @@
.hl-14 {
color: var(--hl-14);
}
+.hl-15 {
+ color: var(--hl-15);
+}
pre,
code {
background: var(--code-background);
diff --git a/docs/assets/main.js b/docs/assets/main.js
index 4514ffe7..f831c885 100644
--- a/docs/assets/main.js
+++ b/docs/assets/main.js
@@ -184,10 +184,10 @@ window.translations = {
return e === t.Set.complete
? t.Set.complete
: e === t.Set.empty
- ? this
- : new t.Set(
- Object.keys(this.elements).concat(Object.keys(e.elements))
- );
+ ? this
+ : new t.Set(
+ Object.keys(this.elements).concat(Object.keys(e.elements))
+ );
}),
(t.idf = function (e, n) {
var r = 0;
@@ -385,8 +385,8 @@ window.translations = {
a < c
? (l += 2)
: a > c
- ? (d += 2)
- : a == c && ((n += r[l + 1] * i[d + 1]), (l += 2), (d += 2));
+ ? (d += 2)
+ : a == c && ((n += r[l + 1] * i[d + 1]), (l += 2), (d += 2));
return n;
}),
(t.Vector.prototype.similarity = function (e) {
@@ -496,8 +496,8 @@ window.translations = {
E.test(u)
? (u = u + 'e')
: Q.test(u)
- ? ((h = L), (u = u.replace(h, '')))
- : H.test(u) && (u = u + 'e'));
+ ? ((h = L), (u = u.replace(h, '')))
+ : H.test(u) && (u = u + 'e'));
}
if (((h = N), h.test(u))) {
var b = h.exec(u);
@@ -1667,8 +1667,8 @@ window.translations = {
typeof define == 'function' && define.amd
? define(n)
: typeof me == 'object'
- ? (ge.exports = n())
- : (e.lunr = n());
+ ? (ge.exports = n())
+ : (e.lunr = n());
})(this, function () {
return t;
});
@@ -2093,7 +2093,11 @@ window.translations = {
let o = Math.min(10, s.length);
for (let a = 0; a < o; a++) {
let c = r.data.rows[Number(s[a].ref)],
- d = ``,
+ d = ``,
f = Ce(c.name, i);
globalThis.DEBUG_SEARCH_WEIGHTS &&
(f += ` (score: ${s[a].score.toFixed(2)})`),
@@ -2293,7 +2297,10 @@ window.translations = {
r.addEventListener('click', () => {
location.assign(r.href);
});
- let i = `tsd-accordion-${n.dataset.key ?? n.textContent.trim().replace(/\s+/g, '-').toLowerCase()}`,
+ let i = `tsd-accordion-${
+ n.dataset.key ??
+ n.textContent.trim().replace(/\s+/g, '-').toLowerCase()
+ }`,
s;
if (ue.has(i)) s = ue.get(i);
else {
@@ -2363,7 +2370,9 @@ window.translations = {
t.kind)
) {
let i = window.translations[`kind_${t.kind}`].replaceAll('"', '"');
- r.innerHTML = ``;
+ r.innerHTML = ``;
}
r.appendChild(Fe(t.text, document.createElement('span')));
} else {
diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js
index 38db1e3b..92bdf510 100644
--- a/docs/assets/navigation.js
+++ b/docs/assets/navigation.js
@@ -1,2 +1,2 @@
window.navigationData =
- 'eJydl11P2zAUhv9LrqvxocFY79YKTUiwVk0ZF4iLQ3LSWDh2ZZ8Uumn/fXLUNh9Njl0uiZ/zvMY5dtznvxHhB0XjaLldo41G0Rooj8ZRodNSoj2rHn/JqZDRKHoTKo3Gl6MoyYVMDapo/HwQ/Cgpr+sTCdYe6t1YW3JxefNvdKidgMVbY7QZEhwAzjI1mKIiAdI+gIIVDuqOSc77aNHYIVU1yFU/4Su3NLthzuDGz6dauT/vFKHJIMHaJ/aPmqt9xHfe4dV1JyAmIJ+0Ynyi8wXatVa2ISNnaE5uj3Rc59+/XVxdNnxLlFggmW2/6zDc73lpmO51AtJlu9eeAAmt7nGDshajKgt7NsS1E254c0wGCFfbAPkeHfbHkIERvwW+u1dqtJRo5gYtKtoZthK7SUFFw5kpZlBKOu7Z3QDXrUtRoC5paDs3Rr09P1u7udrermwCvpbURvzBRyN9vg7HaacSwcRordCK0/Zwodo5GCiQWmfPgLlGWblBIHQHFjvjLsUpbz+SHNQKfwGJDcY6EcCuMsOHxISoA3Q/kXyr0EY4Wc+m5sTDOB+yEupJUH5bgGBXuJcMUs9mkyBxzYVpl/Mw7YEL0i4w0Rs026lO2bbgCoKC4oc4yF9zHq0uyXMWdSFO+FBKEhkkpM00BynRs00YnouZg7Xv2qQSrQ3qQ67glCDP8g/jISELBFmE6JsgL6Yk950tXYgTLjAzaPOlfkP2WOnheK1F2v9zvPcY5MUb/cY2YIvgVG6F7lSmOVmH4XS7i3b1jeeUPVyo1vPF7kc9X+z975TuDbgx5LtF92752WTonu7BP5nmNudEqFSo1YnBPZWfmsNyflJwjX8m7ZSo0BzX7F2fe+arq67Kc6M3Im0KslIlVXuftYC27fprQ1RarNA+x37sqPzlP/gAwEA=';
+ 'eJyVmG1P2zAQgP9LPlcroMFYNU3aKjRVglE1sH5ACLnJpbFw7M6+FLqJ/44S+uIkztn9ip977nKx3QsP/yOEV4xG0R0vQJV4pbXS0SBaMcyjUZQIZgyYob36KcdCRIPomcs0Gp2eXb4N9pYfJeYnU63WPAVLk5UyQa6kGTaApunisyUqDdSoy7FbI8JTyFgpsPsg2wXqGX4z5GsYa0hBImfCzMCslDRwsOFmBWbYCzbtZydfv5yen1kZrJC201ryWe6N3eKP8Opvvri6d7erupeHeC4RdMYS2L6jLdCSnV9YopuMjXMmBMgl3OKqr009mK/MRphaBNkP2JH2Ocf8J5cpl8vARI6IY3KGZAn11u+r5+Ae1nzHVmn+D+618O2MFkdtkGu1VCV6nG2IEs5hsS9hyjQrAEG7tW6Uko8FMB2DMVxJj9yNUvKr1yRncumruouFSD8uolglnInABO4QKtmUGfOidDoDJgpPlh6W0s8g02DyO/UMvu67UVq+Vs9A7cIGEdIGAcZcFYz7Gk7woWniwhyRpEF7TieXIY/gAr1if9FdzCu9xVWItIH5pWoRJLUxr3QGiVqD3oxV6jvzBB/66+vJ4EYpeTVHTGSmPOIuRp9CA7jbqt4z7mTJ+1sDQ6hK8t3eDpA+i5jkAV4HR2l/AQZIOxSljFnGNP/D4WWsJGolBOipBgMSWXWzxbgR1sgBsizMMCiomfWysd0TJqqf2mpsTeqIa1iDaKfp444yx6gZwnITIN+hR/npQaUPp17Jxw+td+buYmHSer4JE9uoX26POH6/gw6Y48iOtJjQsTBAGdqIOSxCu+BGKfm3Oloy8f0gLFRaCjDDp93aU8swiJKci1SDjEYPe9Wk7tNYcJDorM7y2SxV3qS50buf9IS+G0Zmsj55b5hky4As3RAyQ3WBmsD+WCzp3O6l4Ma0eMpdcT2fc5ZxT3n/H1Nd6/CKk11hvlqdQb6CY2QYZK5Bekz4W4JB6rhZyibd9T6+Pb4Di1GnEQ==';
diff --git a/docs/assets/search.js b/docs/assets/search.js
index d62473cc..0a52b8c1 100644
--- a/docs/assets/search.js
+++ b/docs/assets/search.js
@@ -1,2 +1,2 @@
window.searchData =
- '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';
+ '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';
diff --git a/docs/assets/style.css b/docs/assets/style.css
index 973d4371..cf510a63 100644
--- a/docs/assets/style.css
+++ b/docs/assets/style.css
@@ -497,9 +497,8 @@
}
body {
background: var(--color-background);
- font-family:
- -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica,
- Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans',
+ Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
font-size: 16px;
color: var(--color-text);
margin: 0;
diff --git a/docs/classes/Types.BaseError.html b/docs/classes/Auth0Error.html
similarity index 64%
rename from docs/classes/Types.BaseError.html
rename to docs/classes/Auth0Error.html
index 2d90e12d..ace86225 100644
--- a/docs/classes/Types.BaseError.html
+++ b/docs/classes/Auth0Error.html
@@ -3,8 +3,8 @@