diff --git a/articles/quickstart/native/react-native-beta/00-login.md b/articles/quickstart/native/react-native-beta/00-login.md
deleted file mode 100644
index 772142a452..0000000000
--- a/articles/quickstart/native/react-native-beta/00-login.md
+++ /dev/null
@@ -1,250 +0,0 @@
----
-title: Login
-description: This tutorial demonstrates how to add user login to a React Native application using Auth0.
-budicon: 448
-topics:
- - quickstarts
- - native
- - react-native
-github:
- path: 00-Login-Hooks
-contentType: tutorial
-useCase: quickstart
----
-
-
-
-This Quickstart is for the React Native framework. To integrate Auth0 into your Expo application, please refer to the [Expo Quickstart](https://auth0.com/docs/quickstart/native/react-native-expo/interactive)
-
-<%= include('../_includes/_getting_started', { library: 'React Native'}) %>
-
-## Install Dependencies
-
-In this section, you will install the React Native Auth0 module.
-
-::: note
-Please refer to the [official documentation](https://facebook.github.io/react-native/) for additional details on React Native.
-:::
-
-### Yarn
-
-```bash
-yarn add react-native-auth0
-```
-
-::: note
-For further reference on yarn, check [their official documentation](https://yarnpkg.com/en/docs).
-:::
-
-### npm
-
-```bash
-npm install react-native-auth0 --save
-```
-
-### Additional iOS step: install the module Pod
-
-CocoaPods is the iOS package management tool the React Native framework uses to install itself into your project. For the iOS native module to work with your iOS app, first install the library Pod. If you're familiar with older React Native SDK versions, this is similar to the previous _linking a native module_. The process is now simplified:
-
-Change directory into the `ios` folder and run `pod install`.
-
-```bash
-cd ios
-pod install
-```
-
-First, you must provide a way for your users to log in. We recommend using the Auth0 hosted [login page](/hosted-pages/login).
-
-
-
-## Integrate Auth0 in Your Application
-
-### Configure Android
-
-Open your app's `build.gradle` file (typically at `android/app/build.gradle`) and add the following manifest placeholders. The value for `auth0Domain` should contain your Auth0 application settings [as configured above](#get-your-application-keys).
-
-```groovy
-android {
- defaultConfig {
- // Add the next line
- manifestPlaceholders = [auth0Domain: "${account.namespace}", auth0Scheme: "<%= "${applicationId}.auth0" %>"]
- }
- ...
-}
-```
-
-::: note
-At runtime, the `applicationId` value will automatically update with your application's package name or ID (e.g. `com.example.app`). You can change this value from the `build.gradle` file. You can also check it at the top of your `AndroidManifest.xml` file.
-:::
-
-### Configure iOS
-
-In the file `ios//AppDelegate.mm` add the following:
-
-```objc
-#import
-
-- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url
- options:(NSDictionary *)options
-{
- return [RCTLinkingManager application:app openURL:url options:options];
-}
-```
-
-::: note
-This file will be `ios//AppDelegate.m` on applications using the [old architecture](https://reactnative.dev/docs/next/new-architecture-app-intro#ios---use-objective-c-mm-extension).
-:::
-
-Next, add a URLScheme using your App's bundle identifier.
-
-In the `ios` folder, open the `Info.plist` and locate the value for `CFBundleIdentifier`
-
-```xml
-CFBundleIdentifier
-$(PRODUCT_BUNDLE_IDENTIFIER)
-```
-
-Below this value, register a URL type entry using the value of `CFBundleIdentifier` as the value for the `CFBundleURLSchemes`.
-
-```xml
-CFBundleURLTypes
-
-
- CFBundleTypeRole
- None
- CFBundleURLName
- auth0
- CFBundleURLSchemes
-
- $(PRODUCT_BUNDLE_IDENTIFIER).auth0
-
-
-
-```
-
-::: note
-If your application was generated using the React Native CLI, the default value of `$(PRODUCT_BUNDLE_IDENTIFIER)` dynamically matches `org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)`. For the sample app, this value matches `com.auth0samples`.
-:::
-
-Note this value as you'll be using it to define the callback URLs below. If desired, you can change it using XCode in the following way:
-
-- Open the `ios/.xcodeproj` file or run `xed ios` on a Terminal from the app root.
-- Open your project's or desired target's Build Settings tab and find the section that contains "Bundle Identifier".
-- Replace the "Bundle Identifier" value with your desired application's bundle identifier name.
-
-For additional information please read [react native docs](https://facebook.github.io/react-native/docs/linking).
-
-
-### Configure Callback and Logout URLs
-
-The callback and logout URLs are the URLs that Auth0 invokes to redirect back to your application. Auth0 invokes the callback URL after authenticating the user, and the logout URL after removing the session cookie.
-
-If the callback and logout URLs are not set, users will be unable to log in and out of the application and will get an error.
-
-Go to the settings page of your [Auth0 application](${manage_url}/#/applications/${account.clientId}/settings) and add the corresponding URL to **Allowed Callback URLs** and **Allowed Logout URLs**, according to the platform of your application. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of the Auth0 domain from the settings page.
-
-#### iOS
-```text
-BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
-```
-#### Android
-```text
-PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
-```
-
-::: note
-If you are following along with our sample project, set this
-- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
-- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
-:::
-
-## Add login to your app
-
-Import the `useAuth0` hook and the `Auth0Provider` component from the `react-native-auth0` package.
-
-```js
-import {useAuth0, Auth0Provider} from 'react-native-auth0';
-```
-
-Next, wrap your application in the `Auth0Provider` component, providing your Auth0 domain and Client ID values:
-
-```js
-const App = () => {
- return (
-
- {/* your application */}
-
- );
-};
-```
-
-Finally, present the hosted login screen using the `authorize` method from the `useAuth0` hook. See this usage example showing logging in on a button click:
-
-```js
-const LoginButton = () => {
- const {authorize} = useAuth0();
-
- const onPress = async () => {
- try {
- await authorize();
- } catch (e) {
- console.log(e);
- }
- };
-
- return
-}
-```
-
-:::panel Checkpoint
-Add a button component that calls `authorize` when clicked. Verify that you are redirected to the login page and then back to your application.
-:::
-
-## Add logout to your app
-
-To log the user out, redirect them to the Auth0 log out endpoint by importing and calling the `clearSession` method from the `useAuth0` hook. This method removes their session from the authorization server.
-
-See this usage example of a button that logs the user out of the app when clicked:
-
-```js
-const LogoutButton = () => {
- const {clearSession} = useAuth0();
-
- const onPress = async () => {
- try {
- await clearSession();
- } catch (e) {
- console.log(e);
- }
- };
-
- return
-}
-```
-
-:::panel Checkpoint
-Add a button that calls `clearSession` when clicked. Verify that you are logged out of the application when clicked.
-:::
-
-## Show user profile information
-
-The `useAuth0` hook exposes a `user` object that contains information about the authenticated user. You can use this to access decoded user profile information about the authenticated user from the [ID token](https://auth0.com/docs/secure/tokens/id-tokens).
-
-If a user has not been authenticated, this property will be `null`.
-
-```js
-const Profile = () => {
- const {user} = useAuth0();
-
- return (
- <>
- {user && Logged in as {user.name}}
- {!user && Not logged in}
- >
- )
-}
-```
-
-:::panel Checkpoint
-Add a component to your app that uses the `user` prop to display information about the user on the screen.
-:::
diff --git a/articles/quickstart/native/react-native-beta/download.md b/articles/quickstart/native/react-native-beta/download.md
deleted file mode 100644
index ae65286a62..0000000000
--- a/articles/quickstart/native/react-native-beta/download.md
+++ /dev/null
@@ -1,24 +0,0 @@
-To run the sample follow these steps:
-
-1) Set the **Allowed Callback URLs** in the [Application Settings](${manage_url}/#/applications/${account.clientId}/settings) so it works for both Android and iOS apps:
-```text
-com.auth0samples://${account.namespace}/ios/com.auth0samples/callback,com.auth0samples://${account.namespace}/android/com.auth0samples/callback
-```
-
-2) Set the **Allowed Logout URLs** in the [Application Settings](${manage_url}/#/applications/${account.clientId}/settings) so it works for both Android and iOS apps:
-```text
-com.auth0samples://${account.namespace}/ios/com.auth0samples/callback,com.auth0samples://${account.namespace}/android/com.auth0samples/callback
-```
-
-3) Make sure [Node.JS LTS](https://nodejs.org/en/download/), [Yarn](https://yarnpkg.com/lang/en/docs/install/) and [CocoaPods](http://guides.cocoapods.org/using/getting-started.html) are installed.
-
-4) Execute the following commands in the sample's directory:
-
-```bash
-yarn install # Install dependencies
-cd ios && pod install # Install the iOS module Pod
-yarn run ios # Run on iOS device
-yarn run android # Run on Android device
-```
-
-Read more about how to run react-native apps in their [official documentation](https://facebook.github.io/react-native/docs/running-on-device.html).
diff --git a/articles/quickstart/native/react-native-beta/files/app.md b/articles/quickstart/native/react-native-beta/files/app.md
deleted file mode 100644
index 0acb8d45d0..0000000000
--- a/articles/quickstart/native/react-native-beta/files/app.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-name: app.js
-language: javascript
----
-
-
-
-```javascript
-import React from 'react';
-import {Button, Text, View, StyleSheet} from 'react-native';
-import {useAuth0, Auth0Provider} from 'react-native-auth0';
-
-const Home = () => {
- const {authorize, clearSession, user} = useAuth0();
-
- const onLogin = async () => {
- try {
- await authorize();
- } catch (e) {
- console.log(e);
- }
- };
-
- const onLogout = async () => {
- try {
- await clearSession();
- } catch (e) {
- console.log('Log out cancelled');
- }
- };
-
- const loggedIn = user !== undefined && user !== null;
-
- return (
-
- {loggedIn && You are logged in as {user.name}}
- {!loggedIn && You are not logged in}
-
-
-
- );
-};
-
-const App = () => {
- return (
-
-
-
- );
-};
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'center',
- alignItems: 'center',
- backgroundColor: '#F5FCFF',
- }
-});
-
-export default App;
-```
\ No newline at end of file
diff --git a/articles/quickstart/native/react-native-beta/index.yml b/articles/quickstart/native/react-native-beta/index.yml
deleted file mode 100644
index cca7e2b074..0000000000
--- a/articles/quickstart/native/react-native-beta/index.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-title: React Native
-# TODO remove 'image' once new QS page is live. Then only use 'logo'.
-image: /media/platforms/react.png
-logo: react
-alias:
- - reactnative
- - react native
- - react native ios
- - react native android
-author:
- name: Steve Hobbs
- email: steve.hobbs@okta.com
- community: false
-language:
- - Javascript
-framework:
- - React Native
-hybrid: true
-beta: true
-topics:
- - quickstart
-contentType: tutorial
-useCase: quickstart
-seo_alias: react-native
-default_article: 00-login
-hidden_articles:
- - interactive
-articles:
- - 00-login
-show_steps: true
-github:
- org: auth0-samples
- repo: auth0-react-native-sample
-sdk:
- name: react-native-auth0
- url: https://github.com/auth0/react-native-auth0/tree/vnext
- logo: react
-requirements:
- - React Native 0.62.2
- - NodeJS 10.16
-next_steps:
- - path: 00-login
- list:
- - text: Configure other identity providers
- icon: 345
- href: '/identityproviders'
- - text: Enable multifactor authentication
- icon: 345
- href: '/multifactor-authentication'
- - text: Learn about attack protection
- icon: 345
- href: '/attack-protection'
- - text: Learn about rules
- icon: 345
- href: '/rules'
diff --git a/articles/quickstart/native/react-native-beta/interactive.md b/articles/quickstart/native/react-native-beta/interactive.md
deleted file mode 100644
index 4d28982c61..0000000000
--- a/articles/quickstart/native/react-native-beta/interactive.md
+++ /dev/null
@@ -1,250 +0,0 @@
----
-title: Add Login to your React Native App
-description: This quickstart demonstrates how to add user login to an React Native application using Auth0.
-seo_alias: react-native
-interactive: true
-files:
- - files/app
-github:
- path: 00-Login
-topics:
- - quickstarts
- - native
- - react-native
----
-
-# Add Login to your React Native App
-
-
-
-This Quickstart is for the React Native framework. To integrate Auth0 into your Expo application, please refer to the [Expo Quickstart](https://auth0.com/docs/quickstart/native/react-native-expo/interactive)
-
-## Configure Auth0 {{{ data-action=configure }}}
-
-To use Auth0 services, you must have an application set up in the Auth0 Dashboard. The Auth0 application is where you will configure authentication in your project.
-
-### Configure an application
-
-Use the interactive selector to create a new Auth0 application or select an existing application that represents the project you want to integrate with. Every application in Auth0 is assigned an alphanumeric, unique client ID that your application code will use to call Auth0 APIs through the SDK.
-
-Any settings you configure using this quickstart will automatically update for your Application in the Dashboard, which is where you can manage your Applications in the future.
-
-To explore a complete configuration, review the sample application in your Dashboard.
-
-### Configure callback and logout URLs
-
-Auth0 invokes the callback and logout URLs to redirect users back to your application. Auth0 invokes the callback URL after authenticating the user and the logout URL after removing the session cookie. If you do not set the callback and logout URLs, users will not be able to log in and out of the app, and your application will produce an error.
-
-Add the corresponding URL to **Callback URLs** and **Logout URLs**, according to your app's platform. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of your Auth0 tenant’s domain.
-
-#### iOS
-```text
-BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
-```
-
-#### Android
-```text
-PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
-```
-
-::: note
-If you are following along with our sample project, set this
-- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
-- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
-:::
-
-## Install dependencies
-
-In this section, you will install the React Native Auth0 module.
-
-::: note
-Please refer to the [official documentation](https://facebook.github.io/react-native/) for additional details on React Native.
-:::
-
-### Yarn
-
-```bash
-yarn add react-native-auth0
-```
-
-::: note
-For further reference on yarn, check [their official documentation](https://yarnpkg.com/en/docs).
-:::
-
-### npm
-
-```bash
-npm install react-native-auth0 --save
-```
-
-### Additional iOS step: install the module Pod
-
-CocoaPods is the iOS package management tool the React Native framework uses to install itself into your project. For the iOS native module to work with your iOS app, first install the library Pod. If you're familiar with older React Native SDK versions, this is similar to the previous _linking a native module_. The process is now simplified:
-
-Change directory into the `ios` folder and run `pod install`.
-
-```bash
-cd ios
-pod install
-```
-
-## Integrate Auth0 in your application
-
-First, you must provide a way for your users to log in. We recommend using the Auth0 hosted [login page](/hosted-pages/login).
-
-
-### Configure Android
-
-Open the `build.gradle` file in your application directory (typically at `android/app/build.gradle`) and add the following manifest placeholders. The value for `auth0Domain` should contain your Auth0 application settings [as configured above](#get-your-application-keys).
-
-```groovy
-android {
- defaultConfig {
- // Add the next line
- manifestPlaceholders = [auth0Domain: "${account.namespace}", auth0Scheme: "<%= "${applicationId}.auth0" %>"]
- }
- ...
-}
-```
-
-::: note
-At runtime, the `applicationId` value will automatically update with your application's package name or ID (e.g. `com.example.app`). You can change this value from the `build.gradle` file. You can also check it at the top of your `AndroidManifest.xml` file.
-:::
-
-### Configure iOS
-
-In the file `ios//AppDelegate.mm` add the following:
-
-```objc
-#import
-
-- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url
- options:(NSDictionary *)options
-{
- return [RCTLinkingManager application:app openURL:url options:options];
-}
-```
-
-::: note
-This file will be `ios//AppDelegate.m` on applications using the [old architecture](https://reactnative.dev/docs/next/new-architecture-app-intro#ios---use-objective-c-mm-extension).
-:::
-
-Next, add a URLScheme using your App's bundle identifier.
-
-In the `ios` folder, open the `Info.plist` and locate the value for `CFBundleIdentifier`
-
-```xml
-CFBundleIdentifier
-$(PRODUCT_BUNDLE_IDENTIFIER)
-```
-
-Below this value, register a URL type entry using the value of `CFBundleIdentifier` as the value for the `CFBundleURLSchemes`.
-
-```xml
-CFBundleURLTypes
-
-
- CFBundleTypeRole
- None
- CFBundleURLName
- auth0
- CFBundleURLSchemes
-
- $(PRODUCT_BUNDLE_IDENTIFIER).auth0
-
-
-
-```
-
-::: note
-If your application was generated using the React Native CLI, the default value of `$(PRODUCT_BUNDLE_IDENTIFIER)` dynamically matches `org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)`. For the sample app, this value matches `com.auth0samples`.
-:::
-
-In a later step, you will use this value to define the callback URLs below. You can change it using XCode with the following steps:
-
-- Open the `ios/.xcodeproj` file or run `xed ios` on a Terminal from the app root.
-- Open your project's or desired target's Build Settings tab and find the section that contains "Bundle Identifier".
-- Replace the "Bundle Identifier" value with your desired application's bundle identifier name.
-
-For additional information please read [react native docs](https://facebook.github.io/react-native/docs/linking).
-
-## Configure the Auth0Provider component {{{ data-action=code data-code="app.js#41:43"}}}
-
-The `useAuth0` hook relies on a React Context to provide state management. The `Auth0Provider` component provides this context.
-
-Import the `useAuth0` hook and `Auth0Provider` component from the `react-native-auth0` package:
-
-```js
-import {useAuth0, Auth0Provider} from 'react-native-auth0';
-```
-
-For the SDK to function correctly, wrap your application in the `Auth0Provider` component and set the following properties:
-
-- `domain`: The domain of your Auth0 tenant. Generally, you can find this in the Auth0 Dashboard under your Application's Settings in the Domain field. If you are using a [custom domain](https://auth0.com/docs/custom-domains), you should set this to the value of your custom domain instead.
-- `clientId`: The ID of the Auth0 Application you set up earlier in this quickstart. You can find this in the Auth0 Dashboard under your Application's Settings in the Client ID field.
-
-::::checkpoint
-:::checkpoint-default
-You just configured the `Auth0Provider` component. Run your application to verify that:
-- the SDK is initializing correctly
-- your application is not throwing any errors related to Auth0
-:::
-:::checkpoint-failure
-If your application did not launch successfully:
-- make sure the correct application is selected
-- did you save after entering your URLs?
-- ensure your domain and client ID values are correct
-Still having issues? Check out our [documentation](https://auth0.com/docs) or visit our [community page](https://community.auth0.com) to get more help.
-:::
-::::
-## Add login to your app {{{ data-action=code data-code="app.js#8:14" }}}
-
-Authenticate the user by calling the `authorize` method provided by the `useAuth0` hook. This method redirects the user to the Auth0 [Universal Login](https://auth0.com/docs/authenticate/login/auth0-universal-login) page for authentication, then back to your app.
-
-To confirm the user successfully logged in, check that the `user` property provided by the hook is not `null`.
-
-::::checkpoint
-:::checkpoint-default
-Add a button component that calls `authorize` when clicked. Verify that you are redirected to the login page and then back to your application.
-:::
-:::checkpoint-failure
-If your application did not launch successfully:
-
-- Ensure you set the Allowed Callback URLs are correct
-- Verify you saved your changes after entering your URLs
-- Make sure the domain and client ID values are imported correctly
-- If using Android, ensure you set up the manifest placeholders correctly, otherwise the redirect back to your app may not work
-
-Still having issues? Check out our [documentation](https://auth0.com/docs) or visit our [community page](https://community.auth0.com) to get more help.
-:::
-::::
-
-## Add logout to your app {{{ data-action=code data-code="app.js#16:22" }}}
-
-To log the user out, redirect them to the Auth0 log out endpoint by calling `clearSession`. This will remove their session from the authorization server and log the user out of the application.
-
-::::checkpoint
-:::checkpoint-default
-Add a button that calls `clearSession` and observe that you are redirected to the Auth0 logout endpoint and back again. You should no longer be logged in to your application.
-:::
-:::checkpoint-failure
-If your application did not log out successfully:
-
-- Ensure the Allowed Logout URLs are set properly
-- Verify you saved your changes after entering your URLs
-
-Still having issues? Check out our [documentation](https://auth0.com/docs) or visit our [community page](https://community.auth0.com) to get more help.
-:::
-::::
-
-## Show user profile information {{{ data-action=code data-code="app.js#28:29" }}}
-
-The `useAuth0` hook exposes a `user` object that contains information about the authenticated user. You can use this to access decoded user profile information about the authenticated user from the [ID token](https://auth0.com/docs/secure/tokens/id-tokens).
-
-If a user has not been authenticated, this property will be `null`.
-
-::::checkpoint
-:::checkpoint-default
-Log in and inspect the `user` property on the result. Verify the current user's profile information, such as `email` or `name`.
-:::
-::::
diff --git a/articles/quickstart/native/react-native-expo-beta/00-login.md b/articles/quickstart/native/react-native-expo-beta/00-login.md
deleted file mode 100644
index fcd7798b09..0000000000
--- a/articles/quickstart/native/react-native-expo-beta/00-login.md
+++ /dev/null
@@ -1,221 +0,0 @@
----
-title: Login
-description: This tutorial demonstrates how to add user login to an Expo application using Auth0.
-budicon: 448
-topics:
- - quickstarts
- - native
- - react-native
- - expo
-github:
- path: 00-Login-Expo
-contentType: tutorial
-useCase: quickstart
----
-
-
-This Quickstart is for the Expo framework. To integrate Auth0 into your React Native application, please refer to the [React Native Quickstart](https://auth0.com/docs/quickstart/native/react-native/interactive)
-
-::: warning
-This SDK is not compatible with "Expo Go" app. It is compatible only with Custom Dev Client and EAS builds
-:::
-
-<%= include('../_includes/_getting_started', { library: 'Expo'}) %>
-
-## Install Dependencies
-
-How to install the React Native Auth0 module.
-
-::: note
-Please refer to the [official documentation](https://docs.expo.dev/) for additional details on Expo.
-:::
-
-### Yarn
-
-```bash
-yarn add react-native-auth0
-```
-
-::: note
-For further reference on yarn, check [their official documentation](https://yarnpkg.com/en/docs).
-:::
-
-### npm
-
-```bash
-npm install react-native-auth0 --save
-```
-
-The first step in adding authentication to your application is to provide a way for your users to log in. The fastest, most secure, and most feature-rich way to do this with Auth0 is to use the hosted [login page](/hosted-pages/login).
-
-
-
-## Integrate Auth0 in Your Application
-
-### Setup Auth0 Config Plugin
-
-The Auth0 package runs custom native code that needs to be configured at build time. We will use [Expo Config Plugin](https://docs.expo.dev/guides/config-plugins/) to achieve this.
-
-Add the `react-native-auth0` plugin to the [Expo config](https://docs.expo.dev/workflow/configuration/) file at `app.json` or `app.config.js`.
-
-```json
-{
- "expo": {
- ...
- "plugins": [
- [
- "react-native-auth0",
- {
- "domain": "${account.namespace}"
- }
- ]
- ]
- }
-}
-```
-
-### Generate native source code
-
-You must generate the native code for the above configuration to be set. To do this, run the following command:
-
-```bash
-expo prebuild
-```
-
-You will be prompted to provide the [Android package](https://github.com/expo/fyi/blob/main/android-package.md) and [iOS bundle identifier](https://github.com/expo/fyi/blob/main/bundle-identifier.md) if they are not already present in the Expo config:
-
-```bash
-? What would you like your Android package name to be? > com.auth0samples # or your desired package name
-
-? What would you like your iOS bundle identifier to be? > com.auth0samples # or your desired bundle identifier
-```
-
-These values are found in the Expo config file at `app.json` or `app.config.js`. It will be used in the callback and logout URLs:
-
-```json
-{
- ...
- "android": {
- "package": "YOUR_ANDROID_PACKAGE_NAME_IS_FOUND_HERE"
- },
- "ios": {
- "bundleIdentifier": "YOUR_IOS_BUNDLE_IDENTIFIER_IS_FOUND_HERE"
- }
- }
-}
-```
-
-### Configure Callback and Logout URLs
-
-The callback and logout URLs are the URLs that Auth0 invokes to redirect back to your application. Auth0 invokes the callback URL after authenticating the user, and the logout URL after removing the session cookie.
-
-If the callback and logout URLs are not set, users will be unable to log in and out of the application and will get an error.
-
-Go to the settings page of your [Auth0 application](${manage_url}/#/applications/${account.clientId}/settings) and add the corresponding URL to **Allowed Callback URLs** and **Allowed Logout URLs**, according to the platform of your application. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of the Auth0 domain from the settings page.
-
-#### iOS
-```text
-BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
-```
-#### Android
-```text
-PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
-```
-
-::: note
-If you are following along with our sample project, set this
-- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
-- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
-:::
-
-## Add login to your app
-
-First, import the `useAuth0` hook and the `Auth0Provider` component from the `react-native-auth0` package.
-
-```js
-import {useAuth0, Auth0Provider} from 'react-native-auth0';
-```
-
-Next, wrap your application in the `Auth0Provider` component, providing your Auth0 domain and Client ID values:
-
-```js
-const App = () => {
- return (
-
- {/* your application */}
-
- );
-};
-```
-
-Finally, present the hosted login screen using the `authorize` method from the `useAuth0` hook. See this usage example showing logging in on a button click:
-
-```js
-const LoginButton = () => {
- const {authorize} = useAuth0();
-
- const onPress = async () => {
- try {
- await authorize();
- } catch (e) {
- console.log(e);
- }
- };
-
- return
-}
-```
-
-:::panel Checkpoint
-Add a button component that calls `authorize` when clicked. Verify that you are redirected to the login page and then back to your application.
-:::
-
-## Add logout to your app
-
-To log the user out, redirect them to the Auth0 log out endpoint by importing and calling the `clearSession` method from the `useAuth0` hook. This will remove their session from the authorization server.
-
-See this usage example of a button that logs the user out of the app when clicked:
-
-```js
-const LogoutButton = () => {
- const {clearSession} = useAuth0();
-
- const onPress = async () => {
- try {
- await clearSession();
- } catch (e) {
- console.log(e);
- }
- };
-
- return
-}
-```
-
-:::panel Checkpoint
-Add a button that calls `clearSession` when clicked. Verify that you are logged out of the application when clicked.
-:::
-
-## Show user profile information
-
-The `useAuth0` hook exposes a `user` object that contains information about the authenticated user. You can use this to access user profile information about the authenticated user that has been decoded from the [ID token](https://auth0.com/docs/secure/tokens/id-tokens).
-
-If a user has not been authenticated, this property will be `null`.
-
-```js
-const Profile = () => {
- const {user, error} = useAuth0();
-
- return (
- <>
- {user && Logged in as {user.name}}
- {!user && Not logged in}
- {error && {error.message}}
- >
- )
-}
-```
-
-:::panel Checkpoint
-Add a component to your app that uses the `user` prop to display information about the user on the screen.
-:::
\ No newline at end of file
diff --git a/articles/quickstart/native/react-native-expo-beta/download.md b/articles/quickstart/native/react-native-expo-beta/download.md
deleted file mode 100644
index 8fff35022d..0000000000
--- a/articles/quickstart/native/react-native-expo-beta/download.md
+++ /dev/null
@@ -1,24 +0,0 @@
-To run the sample follow these steps:
-
-1) Set the **Allowed Callback URLs** in the [Application Settings](${manage_url}/#/applications/${account.clientId}/settings) so it works for both Android and iOS apps:
-```text
-com.auth0samples://${account.namespace}/ios/com.auth0samples/callback,com.auth0samples://${account.namespace}/android/com.auth0samples/callback
-```
-
-2) Set the **Allowed Logout URLs** in the [Application Settings](${manage_url}/#/applications/${account.clientId}/settings) so it works for both Android and iOS apps:
-```text
-com.auth0samples://${account.namespace}/ios/com.auth0samples/callback,com.auth0samples://${account.namespace}/android/com.auth0samples/callback
-```
-
-3) Make sure [Node.JS LTS](https://nodejs.org/en/download/), [Yarn](https://yarnpkg.com/lang/en/docs/install/) and [CocoaPods](http://guides.cocoapods.org/using/getting-started.html) are installed.
-
-4) Execute the following commands in the sample's directory:
-
-```bash
-yarn install # Install dependencies
-expo prebuild # Generate the native source code
-expo run:ios # Run on iOS device
-expo run:android # Run on Android device
-```
-
-Read more about how to run Expo apps in their [official documentation](https://docs.expo.dev/workflow/expo-cli/#compiling).
\ No newline at end of file
diff --git a/articles/quickstart/native/react-native-expo-beta/files/app-json.md b/articles/quickstart/native/react-native-expo-beta/files/app-json.md
deleted file mode 100644
index 153a08b18e..0000000000
--- a/articles/quickstart/native/react-native-expo-beta/files/app-json.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-name: app.json
-language: json
----
-
-```json
-{
- "expo": {
- "name": "00-Login-Expo",
- "slug": "00-Login-Expo",
- "version": "1.0.0",
- "orientation": "portrait",
- "icon": "./assets/icon.png",
- "userInterfaceStyle": "light",
- "plugins": [
- [
- "react-native-auth0",
- {
- "domain": "${account.namespace}",
- }
- ]
- ],
- "splash": {
- "image": "./assets/splash.png",
- "resizeMode": "contain",
- "backgroundColor": "#ffffff"
- },
- "updates": {
- "fallbackToCacheTimeout": 0
- },
- "assetBundlePatterns": [
- "**/*"
- ],
- "web": {
- "favicon": "./assets/favicon.png"
- },
- "android": {
- "package": "com.auth0samples"
- },
- "ios": {
- "bundleIdentifier": "com.auth0samples"
- }
- }
-}
-```
\ No newline at end of file
diff --git a/articles/quickstart/native/react-native-expo-beta/files/app.md b/articles/quickstart/native/react-native-expo-beta/files/app.md
deleted file mode 100644
index 6cd1a1372d..0000000000
--- a/articles/quickstart/native/react-native-expo-beta/files/app.md
+++ /dev/null
@@ -1,64 +0,0 @@
----
-name: App.js
-language: javascript
----
-
-```javascript
-import React from 'react';
-import {Button, Text, View, StyleSheet} from 'react-native';
-import {useAuth0, Auth0Provider} from 'react-native-auth0';
-
-const Home = () => {
- const {authorize, clearSession, user, error} = useAuth0();
-
- const onLogin = async () => {
- try {
- await authorize();
- } catch (e) {
- console.log(e);
- }
- };
-
- const onLogout = async () => {
- try {
- await clearSession();
- } catch (e) {
- console.log('Log out cancelled');
- }
- };
-
- const loggedIn = user !== undefined && user !== null;
-
- return (
-
- {loggedIn && You are logged in as {user.name}}
- {!loggedIn && You are not logged in}
- {error && {error.message}}
-
-
-
- );
-};
-
-const App = () => {
- return (
-
-
-
- );
-};
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'center',
- alignItems: 'center',
- backgroundColor: '#F5FCFF',
- }
-});
-
-export default App;
-```
\ No newline at end of file
diff --git a/articles/quickstart/native/react-native-expo-beta/index.yml b/articles/quickstart/native/react-native-expo-beta/index.yml
deleted file mode 100644
index 569dfbc304..0000000000
--- a/articles/quickstart/native/react-native-expo-beta/index.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-title: Expo
-# TODO remove 'image' once new QS page is live. Then only use 'logo'.
-image: /media/platforms/react.png
-logo_name: expo
-logo: expo
-alias:
- - reactnative
- - react native
- - react native ios
- - react native android
-author:
- name: Poovamraj Thanganadar Thiagarajan
- email: poovamraj.thanganadarthigarajan@okta.com
- community: false
-language:
- - Javascript
-framework:
- - React Native
- - Expo
-hybrid: true
-beta: true
-topics:
- - quickstart
-contentType: tutorial
-useCase: quickstart
-seo_alias: react-native
-default_article: 00-login
-hidden_articles:
- - interactive
-articles:
- - 00-login
-show_steps: true
-github:
- org: auth0-samples
- repo: auth0-react-native-sample
-sdk:
- name: react-native-auth0
- url: https://github.com/auth0/react-native-auth0/tree/vnext
- logo: expo
-requirements:
- - React Native 0.62.2
- - NodeJS 10.16
- - Expo SDK 41
-next_steps:
- - path: 00-login
- list:
- - text: Configure other identity providers
- icon: 345
- href: '/identityproviders'
- - text: Enable multifactor authentication
- icon: 345
- href: '/multifactor-authentication'
- - text: Learn about attack protection
- icon: 345
- href: '/attack-protection'
- - text: Learn about rules
- icon: 345
- href: '/rules'
diff --git a/articles/quickstart/native/react-native-expo-beta/interactive.md b/articles/quickstart/native/react-native-expo-beta/interactive.md
deleted file mode 100644
index 76cd50dd81..0000000000
--- a/articles/quickstart/native/react-native-expo-beta/interactive.md
+++ /dev/null
@@ -1,189 +0,0 @@
----
-title: Add Login to your React Native App
-description: This quickstart demonstrates how to add user login to an React Native application using Auth0.
-seo_alias: react-native
-interactive: true
-files:
- - files/app-json
- - files/app
-github:
- path: 00-Login
-topics:
- - quickstarts
- - native
- - react-native
----
-
-# Add Login to your React Native App
-
-
-
-This Quickstart is for the Expo framework. To integrate Auth0 into your React Native application, please refer to the [React Native Quickstart](https://auth0.com/docs/quickstart/native/react-native/interactive)
-
-::: warning
-This SDK is not compatible with "Expo Go" app. It is compatible only with Custom Dev Client and EAS builds.
-:::
-
-## Configure Auth0 {{{ data-action=configure }}}
-
-To use Auth0 services, you need to have an application set up in the Auth0 Dashboard. The Auth0 application is where you will configure authentication in your project.
-
-### Configure an application
-
-Use the interactive selector to create a new Auth0 application or select an existing application that represents the project you want to integrate with. Every application in Auth0 is assigned an alphanumeric, unique client ID that your application code will use to call Auth0 APIs through the SDK.
-
-Any settings you configure using this quickstart will automatically update for your Application in the Dashboard, which is where you can manage your Applications in the future.
-
-If you would rather explore a complete configuration, you can view a sample application instead.
-
-### Configure callback and logout URLs
-
-Auth0 invokes the callback and logout URLs to redirect users back to your application. Auth0 invokes the callback URL after authenticating the user and the logout URL after removing the session cookie. If you do not set the callback and logout URLs, users will not be able to log in and out of the app, and your application will produce an error.
-
-Add the corresponding URL to **Callback URLs** and **Logout URLs**, according to your app's platform. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of your Auth0 tenant’s domain.
-
-#### iOS
-```text
-BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
-```
-
-#### Android
-```text
-PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
-```
-
-::: note
-If you are following along with our sample project, set this
-- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
-- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
-:::
-
-## Install dependencies
-
-In this section, you will learn how to install the React Native Auth0 module.
-
-::: note
-Please refer to the [official documentation](https://facebook.github.io/react-native/) for additional details on React Native.
-:::
-
-### Yarn
-
-```bash
-yarn add react-native-auth0
-```
-
-::: note
-For further reference on yarn, check [their official documentation](https://yarnpkg.com/en/docs).
-:::
-
-### npm
-
-```bash
-npm install react-native-auth0 --save
-```
-
-## Setup Auth0 Config Plugin {{{ data-action=code data-code="app.json#10:15"}}}
-
-The Auth0 package runs custom native code that must be configured at build time. Use [Expo Config Plugin](https://docs.expo.dev/guides/config-plugins/) to achieve this.
-
-The `react-native-auth0` plugin will be added in the [Expo config](https://docs.expo.dev/workflow/configuration/)
-
-## Generate Native Source Code {{{ data-action=code data-code="app.json#31:36"}}}
-
-You must generate the native code for the above configuration to be set. To do this, run the following command:
-
-```bash
-expo prebuild
-```
-
-You will be prompted to provide the [Android package](https://github.com/expo/fyi/blob/main/android-package.md) and [iOS bundle identifier](https://github.com/expo/fyi/blob/main/bundle-identifier.md) if they are not already present in the Expo config.
-
-```bash
-? What would you like your Android package name to be? > com.auth0samples # or your desired package name
-
-? What would you like your iOS bundle identifier to be? > com.auth0samples # or your desired bundle identifier
-```
-
-These values are used to set the callback and logout URLs.
-
-## Configure the Auth0Provider component {{{ data-action=code data-code="App.js#41:43"}}}
-
-The `useAuth0` hook relies on a React Context to provide state management. This context is provided by the `Auth0Provider` component.
-
-Import the `useAuth0` hook and `Auth0Provider` component from the `react-native-auth0` package:
-
-```js
-import {useAuth0, Auth0Provider} from 'react-native-auth0';
-```
-
-For the SDK to function properly, you must wrap your application in the `Auth0Provider` component, and set the following properties:
-
-- `domain`: The domain of your Auth0 tenant. Generally, you can find this in the Auth0 Dashboard under your Application's Settings in the Domain field. If you are using a [custom domain](https://auth0.com/docs/custom-domains), you should set this to the value of your custom domain instead.
-- `clientId`: The ID of the Auth0 Application you set up earlier in this quickstart. You can find this in the Auth0 Dashboard under your Application's Settings in the Client ID field.
-
-::::checkpoint
-:::checkpoint-default
-Your `Auth0Provider` component should now be properly configured. Run your application to verify that:
-- the SDK is initializing correctly
-- your application is not throwing any errors related to Auth0
-:::
-:::checkpoint-failure
-If your application did not launch successfully:
-- make sure the correct application is selected
-- did you save after entering your URLs?
-- ensure your domain and client ID values are correct
-Still having issues? Check out our [documentation](https://auth0.com/docs) or visit our [community page](https://community.auth0.com) to get more help.
-:::
-::::
-
-## Add login to your app {{{ data-action=code data-code="App.js#8:14" }}}
-
-Authenticate the user by calling the `authorize` method provided by the `useAuth0` hook. This redirects the user to the Auth0 [Universal Login](https://auth0.com/docs/authenticate/login/auth0-universal-login) page for authentication, then back to your app.
-
-For confirmation that the user was logged in successfully, check that the `user` property provided by the hook is not `null`.
-
-::::checkpoint
-:::checkpoint-default
-Add a button component that calls `authorize` when clicked. Verify that you are redirected to the login page and then back to your application.
-:::
-:::checkpoint-failure
-If your application did not launch successfully:
-
-- ensure you set the Allowed Callback URLs are correct
-- verify you saved your changes after entering your URLs
-- make sure the domain and client ID values are imported correctly
-- if using Android, ensure that the manifest placeholders have been set up correctly, otherwise the redirect back to your app may not work
-
-Still having issues? Check out our [documentation](https://auth0.com/docs) or visit our [community page](https://community.auth0.com) to get more help.
-:::
-::::
-
-## Add logout to your app {{{ data-action=code data-code="App.js#16:22" }}}
-
-To log the user out, redirect them to the Auth0 logout endpoint by calling `clearSession`. This will remove their session from the authorization server and log the user out of the application.
-
-::::checkpoint
-:::checkpoint-default
-Add a logout button that calls `clearSession` and observe that you are redirected to the Auth0 logout endpoint and back again. You should no longer be logged in to your application.
-:::
-:::checkpoint-failure
-If your application did not log out successfully:
-
-- ensure the Allowed Logout URLs are set properly
-- verify you saved your changes after entering your URLs
-
-Still having issues? Check out our [documentation](https://auth0.com/docs) or visit our [community page](https://community.auth0.com) to get more help.
-:::
-::::
-
-## Show user profile information {{{ data-action=code data-code="App.js#28:29" }}}
-
-The `useAuth0` hook exposes a `user` object that contains information about the authenticated user. You can use this to access user profile information about the authenticated user that has been decoded from the [ID token](https://auth0.com/docs/secure/tokens/id-tokens).
-
-If a user has not been authenticated, this property will be `null`.
-
-::::checkpoint
-:::checkpoint-default
-Log in and inspect the `user` property on the result. Verify the current user's profile information, such as `email` or `name`.
-:::
-::::
diff --git a/articles/quickstart/native/react-native-expo/00-login.md b/articles/quickstart/native/react-native-expo/00-login.md
index ee5315c806..fcd7798b09 100644
--- a/articles/quickstart/native/react-native-expo/00-login.md
+++ b/articles/quickstart/native/react-native-expo/00-login.md
@@ -14,10 +14,6 @@ useCase: quickstart
---
-::: note
-Exciting news! We have just released React Native Auth0 v3 BETA, packed with powerful features and improvements. [Check out the latest Quickstart for more details](https://auth0.com/docs/quickstart/native/react-native-expo-beta/00-login)
-:::
-
This Quickstart is for the Expo framework. To integrate Auth0 into your React Native application, please refer to the [React Native Quickstart](https://auth0.com/docs/quickstart/native/react-native/interactive)
::: warning
@@ -70,8 +66,7 @@ Add the `react-native-auth0` plugin to the [Expo config](https://docs.expo.dev/w
[
"react-native-auth0",
{
- "domain": "${account.namespace}",
- "customScheme": "YOUR_CUSTOM_SCHEME"
+ "domain": "${account.namespace}"
}
]
]
@@ -79,10 +74,6 @@ Add the `react-native-auth0` plugin to the [Expo config](https://docs.expo.dev/w
}
```
-::: note
-The custom scheme should be a unique, all lowercase value with no special characters.
-:::
-
### Generate native source code
You must generate the native code for the above configuration to be set. To do this, run the following command:
@@ -94,9 +85,9 @@ expo prebuild
You will be prompted to provide the [Android package](https://github.com/expo/fyi/blob/main/android-package.md) and [iOS bundle identifier](https://github.com/expo/fyi/blob/main/bundle-identifier.md) if they are not already present in the Expo config:
```bash
-? What would you like your Android package name to be? > com.auth0samples
+? What would you like your Android package name to be? > com.auth0samples # or your desired package name
-? What would you like your iOS bundle identifier to be? > com.auth0samples
+? What would you like your iOS bundle identifier to be? > com.auth0samples # or your desired bundle identifier
```
These values are found in the Expo config file at `app.json` or `app.config.js`. It will be used in the callback and logout URLs:
@@ -114,41 +105,28 @@ These values are found in the Expo config file at `app.json` or `app.config.js`.
}
```
-<%= include('../../../_includes/_callback_url') %>
-
-#### iOS callback URL
-
-```text
-{YOUR_CUSTOM_SCHEME}://${account.namespace}/ios/{IOS_BUNDLE_IDENTIFIER}/callback
-```
-
-Remember to replace `{IOS_BUNDLE_IDENTIFIER}` with your actual application's bundle identifier name.
-
-#### Android callback URL
-
-```text
-{YOUR_CUSTOM_SCHEME}://${account.namespace}/android/{ANDROID_PACKAGE}/callback
-```
+### Configure Callback and Logout URLs
-Remember to replace `{ANDROID_PACKAGE}` with your actual application's package name.
+The callback and logout URLs are the URLs that Auth0 invokes to redirect back to your application. Auth0 invokes the callback URL after authenticating the user, and the logout URL after removing the session cookie.
-<%= include('../../../_includes/_logout_url') %>
+If the callback and logout URLs are not set, users will be unable to log in and out of the application and will get an error.
-#### iOS logout URL
+Go to the settings page of your [Auth0 application](${manage_url}/#/applications/${account.clientId}/settings) and add the corresponding URL to **Allowed Callback URLs** and **Allowed Logout URLs**, according to the platform of your application. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of the Auth0 domain from the settings page.
+#### iOS
```text
-{YOUR_CUSTOM_SCHEME}://${account.namespace}/ios/{IOS_BUNDLE_IDENTIFIER}/callback
+BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
```
-
-Remember to replace `{IOS_BUNDLE_IDENTIFIER}` with your actual application's bundle identifier name.
-
-#### Android logout URL
-
+#### Android
```text
-{YOUR_CUSTOM_SCHEME}://${account.namespace}/android/{ANDROID_PACKAGE}/callback
+PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
```
-Remember to replace `{ANDROID_PACKAGE}` with your actual application's package name.
+::: note
+If you are following along with our sample project, set this
+- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
+- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
+:::
## Add login to your app
@@ -178,7 +156,7 @@ const LoginButton = () => {
const onPress = async () => {
try {
- await authorize({scope: 'openid profile email'}, {customScheme: '{YOUR_CUSTOM_SCHEME}'});
+ await authorize();
} catch (e) {
console.log(e);
}
@@ -204,7 +182,7 @@ const LogoutButton = () => {
const onPress = async () => {
try {
- await clearSession({customScheme: '{YOUR_CUSTOM_SCHEME}'});
+ await clearSession();
} catch (e) {
console.log(e);
}
diff --git a/articles/quickstart/native/react-native-expo/files/app-json.md b/articles/quickstart/native/react-native-expo/files/app-json.md
index 79f714e005..153a08b18e 100644
--- a/articles/quickstart/native/react-native-expo/files/app-json.md
+++ b/articles/quickstart/native/react-native-expo/files/app-json.md
@@ -17,7 +17,6 @@ language: json
"react-native-auth0",
{
"domain": "${account.namespace}",
- "customScheme": "auth0.com.auth0samples"
}
]
],
diff --git a/articles/quickstart/native/react-native-expo/files/app.md b/articles/quickstart/native/react-native-expo/files/app.md
index 67493a5f54..6cd1a1372d 100644
--- a/articles/quickstart/native/react-native-expo/files/app.md
+++ b/articles/quickstart/native/react-native-expo/files/app.md
@@ -5,7 +5,7 @@ language: javascript
```javascript
import React from 'react';
-import {Button, Text, View} from 'react-native';
+import {Button, Text, View, StyleSheet} from 'react-native';
import {useAuth0, Auth0Provider} from 'react-native-auth0';
const Home = () => {
@@ -13,7 +13,7 @@ const Home = () => {
const onLogin = async () => {
try {
- await authorize({scope: 'openid profile email'}, {customScheme: 'auth0.com.auth0samples'});
+ await authorize();
} catch (e) {
console.log(e);
}
@@ -21,7 +21,7 @@ const Home = () => {
const onLogout = async () => {
try {
- await clearSession({customScheme: 'auth0.com.auth0samples'});
+ await clearSession();
} catch (e) {
console.log('Log out cancelled');
}
diff --git a/articles/quickstart/native/react-native-expo/interactive.md b/articles/quickstart/native/react-native-expo/interactive.md
index e784e6790e..76cd50dd81 100644
--- a/articles/quickstart/native/react-native-expo/interactive.md
+++ b/articles/quickstart/native/react-native-expo/interactive.md
@@ -14,10 +14,6 @@ topics:
- react-native
---
-::: note
-Exciting news! We have just released React Native Auth0 v3 BETA, packed with powerful features and improvements. [Check out the latest Quickstart for more details](https://auth0.com/docs/quickstart/native/react-native-expo-beta/00-login)
-:::
-
# Add Login to your React Native App
@@ -40,24 +36,26 @@ Any settings you configure using this quickstart will automatically update for y
If you would rather explore a complete configuration, you can view a sample application instead.
-### Configure Callback URLs
+### Configure callback and logout URLs
-A callback URL is the application URL that Auth0 will direct your users to once they have authenticated. If you do not set this value, Auth0 will not return users to your application after they log in.
+Auth0 invokes the callback and logout URLs to redirect users back to your application. Auth0 invokes the callback URL after authenticating the user and the logout URL after removing the session cookie. If you do not set the callback and logout URLs, users will not be able to log in and out of the app, and your application will produce an error.
-::: note
-If you are following along with our sample project, set this
-- for iOS - `auth0.com.auth0samples://${account.namespace}/ios/com.auth0samples/callback`
-- for Android - `auth0.com.auth0samples://${account.namespace}/android/com.auth0samples/callback`
-:::
+Add the corresponding URL to **Callback URLs** and **Logout URLs**, according to your app's platform. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of your Auth0 tenant’s domain.
-### Configure Logout URLs
+#### iOS
+```text
+BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
+```
-A logout URL is the application URL Auth0 will redirect your users to once they log out. If you do not set this value, users will not be able to log out from your application and will receive an error.
+#### Android
+```text
+PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
+```
::: note
If you are following along with our sample project, set this
-- for iOS - `auth0.com.auth0samples://${account.namespace}/ios/com.auth0samples/callback`
-- for Android - `auth0.com.auth0samples://${account.namespace}/android/com.auth0samples/callback`
+- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
+- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
:::
## Install dependencies
@@ -98,12 +96,12 @@ You must generate the native code for the above configuration to be set. To do t
expo prebuild
```
-You will be prompted to provide the [Android package](https://github.com/expo/fyi/blob/main/android-package.md) and [iOS bundle identifier](https://github.com/expo/fyi/blob/main/bundle-identifier.md) if they are not already present in the Expo config:
+You will be prompted to provide the [Android package](https://github.com/expo/fyi/blob/main/android-package.md) and [iOS bundle identifier](https://github.com/expo/fyi/blob/main/bundle-identifier.md) if they are not already present in the Expo config.
```bash
-? What would you like your Android package name to be? > com.auth0samples
+? What would you like your Android package name to be? > com.auth0samples # or your desired package name
-? What would you like your iOS bundle identifier to be? > com.auth0samples
+? What would you like your iOS bundle identifier to be? > com.auth0samples # or your desired bundle identifier
```
These values are used to set the callback and logout URLs.
diff --git a/articles/quickstart/native/react-native/00-login.md b/articles/quickstart/native/react-native/00-login.md
index 023b069a4b..772142a452 100644
--- a/articles/quickstart/native/react-native/00-login.md
+++ b/articles/quickstart/native/react-native/00-login.md
@@ -14,10 +14,6 @@ useCase: quickstart
-::: note
-Exciting news! We have just released React Native Auth0 v3 BETA, packed with powerful features and improvements. [Check out the latest Quickstart for more details](https://auth0.com/docs/quickstart/native/react-native-beta/00-login)
-:::
-
This Quickstart is for the React Native framework. To integrate Auth0 into your Expo application, please refer to the [Expo Quickstart](https://auth0.com/docs/quickstart/native/react-native-expo/interactive)
<%= include('../_includes/_getting_started', { library: 'React Native'}) %>
@@ -71,7 +67,7 @@ Open your app's `build.gradle` file (typically at `android/app/build.gradle`) an
android {
defaultConfig {
// Add the next line
- manifestPlaceholders = [auth0Domain: "${account.namespace}", auth0Scheme: "<%= "${applicationId}" %>"]
+ manifestPlaceholders = [auth0Domain: "${account.namespace}", auth0Scheme: "<%= "${applicationId}.auth0" %>"]
}
...
}
@@ -120,7 +116,7 @@ Below this value, register a URL type entry using the value of `CFBundleIdentifi
auth0CFBundleURLSchemes
- $(PRODUCT_BUNDLE_IDENTIFIER)
+ $(PRODUCT_BUNDLE_IDENTIFIER).auth0
@@ -138,41 +134,29 @@ Note this value as you'll be using it to define the callback URLs below. If desi
For additional information please read [react native docs](https://facebook.github.io/react-native/docs/linking).
-<%= include('../../../_includes/_callback_url') %>
-
-#### iOS callback URL
-
-```text
-{PRODUCT_BUNDLE_IDENTIFIER}://${account.namespace}/ios/{PRODUCT_BUNDLE_IDENTIFIER}/callback
-```
-
-Remember to replace `{PRODUCT_BUNDLE_IDENTIFIER}` with your actual application's bundle identifier name.
-#### Android callback URL
+### Configure Callback and Logout URLs
-```text
-{YOUR_APP_PACKAGE_NAME}://${account.namespace}/android/{YOUR_APP_PACKAGE_NAME}/callback
-```
+The callback and logout URLs are the URLs that Auth0 invokes to redirect back to your application. Auth0 invokes the callback URL after authenticating the user, and the logout URL after removing the session cookie.
-Remember to replace `{YOUR_APP_PACKAGE_NAME}` with your actual application's package name.
+If the callback and logout URLs are not set, users will be unable to log in and out of the application and will get an error.
-<%= include('../../../_includes/_logout_url') %>
-
-#### iOS logout URL
+Go to the settings page of your [Auth0 application](${manage_url}/#/applications/${account.clientId}/settings) and add the corresponding URL to **Allowed Callback URLs** and **Allowed Logout URLs**, according to the platform of your application. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of the Auth0 domain from the settings page.
+#### iOS
```text
-{PRODUCT_BUNDLE_IDENTIFIER}://${account.namespace}/ios/{PRODUCT_BUNDLE_IDENTIFIER}/callback
+BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
```
-
-Remember to replace `{PRODUCT_BUNDLE_IDENTIFIER}` with your actual application's bundle identifier name.
-
-#### Android logout URL
-
+#### Android
```text
-{YOUR_APP_PACKAGE_NAME}://${account.namespace}/android/{YOUR_APP_PACKAGE_NAME}/callback
+PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
```
-Remember to replace `{YOUR_APP_PACKAGE_NAME}` with your actual application's package name.
+::: note
+If you are following along with our sample project, set this
+- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
+- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
+:::
## Add login to your app
diff --git a/articles/quickstart/native/react-native/files/app.md b/articles/quickstart/native/react-native/files/app.md
index c60570615c..0acb8d45d0 100644
--- a/articles/quickstart/native/react-native/files/app.md
+++ b/articles/quickstart/native/react-native/files/app.md
@@ -3,9 +3,11 @@ name: app.js
language: javascript
---
+
+
```javascript
import React from 'react';
-import {Button, Text, View} from 'react-native';
+import {Button, Text, View, StyleSheet} from 'react-native';
import {useAuth0, Auth0Provider} from 'react-native-auth0';
const Home = () => {
@@ -13,7 +15,7 @@ const Home = () => {
const onLogin = async () => {
try {
- await authorize({scope: 'openid profile email'});
+ await authorize();
} catch (e) {
console.log(e);
}
diff --git a/articles/quickstart/native/react-native/interactive.md b/articles/quickstart/native/react-native/interactive.md
index 0af416a9f3..4d28982c61 100644
--- a/articles/quickstart/native/react-native/interactive.md
+++ b/articles/quickstart/native/react-native/interactive.md
@@ -13,13 +13,9 @@ topics:
- react-native
---
-::: note
-Exciting news! We have just released React Native Auth0 v3 BETA, packed with powerful features and improvements. [Check out the latest Quickstart for more details](https://auth0.com/docs/quickstart/native/react-native-beta/interactive)
-:::
-
# Add Login to your React Native App
-
+
This Quickstart is for the React Native framework. To integrate Auth0 into your Expo application, please refer to the [Expo Quickstart](https://auth0.com/docs/quickstart/native/react-native-expo/interactive)
@@ -35,24 +31,26 @@ Any settings you configure using this quickstart will automatically update for y
To explore a complete configuration, review the sample application in your Dashboard.
-### Configure Callback URLs
+### Configure callback and logout URLs
-A callback URL is the application URL that Auth0 will direct your users to once they have authenticated. If you do not set this value, Auth0 will not return users to your application after they log in.
+Auth0 invokes the callback and logout URLs to redirect users back to your application. Auth0 invokes the callback URL after authenticating the user and the logout URL after removing the session cookie. If you do not set the callback and logout URLs, users will not be able to log in and out of the app, and your application will produce an error.
-::: note
-If you are following along with our sample project, set this
-- for iOS - `{PRODUCT_BUNDLE_IDENTIFIER}://${account.namespace}/ios/{PRODUCT_BUNDLE_IDENTIFIER}/callback`
-- for Android - `{YOUR_APP_PACKAGE_NAME}://${account.namespace}/android/{YOUR_APP_PACKAGE_NAME}/callback`
-:::
+Add the corresponding URL to **Callback URLs** and **Logout URLs**, according to your app's platform. If you are using a [custom domain](/customize/custom-domains), use the value of your custom domain instead of your Auth0 tenant’s domain.
-### Configure Logout URLs
+#### iOS
+```text
+BUNDLE_IDENTIFIER.auth0://${account.namespace}/ios/BUNDLE_IDENTIFIER/callback
+```
-A logout URL is the application URL Auth0 will redirect your users to once they log out. If you do not set this value, users will not be able to log out from your application and will receive an error.
+#### Android
+```text
+PACKAGE_NAME.auth0://${account.namespace}/android/PACKAGE_NAME/callback
+```
::: note
If you are following along with our sample project, set this
-- for iOS - `{PRODUCT_BUNDLE_IDENTIFIER}://${account.namespace}/ios/{PRODUCT_BUNDLE_IDENTIFIER}/callback`
-- for Android - `{YOUR_APP_PACKAGE_NAME}://${account.namespace}/android/{YOUR_APP_PACKAGE_NAME}/callback`
+- for iOS - `com.auth0samples.auth0://${account.namespace}/ios/com.auth0samples/callback`
+- for Android - `com.auth0samples.auth0://${account.namespace}/android/com.auth0samples/callback`
:::
## Install dependencies
@@ -103,7 +101,7 @@ Open the `build.gradle` file in your application directory (typically at `androi
android {
defaultConfig {
// Add the next line
- manifestPlaceholders = [auth0Domain: "${account.namespace}", auth0Scheme: "<%= "${applicationId}" %>"]
+ manifestPlaceholders = [auth0Domain: "${account.namespace}", auth0Scheme: "<%= "${applicationId}.auth0" %>"]
}
...
}
@@ -152,7 +150,7 @@ Below this value, register a URL type entry using the value of `CFBundleIdentifi
auth0CFBundleURLSchemes
- $(PRODUCT_BUNDLE_IDENTIFIER)
+ $(PRODUCT_BUNDLE_IDENTIFIER).auth0