Use create-react-app to bootstrap a new React project with authentication.
https://auth0-react-app.now.sh
This repo is not a fork of create-react-app
. It's just a fork of react-scripts
with modifications to the project template.
If you do not already have create-react-app
installed, run:
npm install -g create-react-app
To create a new project:
create-react-app my-app --scripts-version auth0-react-scripts
-
Create a
.env
file at the root of the project with your Auth0 configurations. You can find your Auth0 clientId and domain at your dashboard: https://manage.auth0.com/#/clients -
Add
http://localhost:3000/login
to your Auth0 callback URLs.
Then, in order to start the app:
cd my-app/
npm start
Show Auth0 lock. Accepts any options that lock.show()
accepts.
Clears authentication token from the browser and redirects to /login
.
An onEnter handler for react-router
. Add this handler to any Route
that requires an authenticated user. The handler will ensure the user is authenticated before displaying the route. If the user is not authenticated, the handler will redirect them to /login
and return them back to their previous route once they authenticate.
<Route path="/profile/edit" component={EditProfile} onEnter={requireAuth} />
Connects a react component to an authenticated user's profile. It does not modify the component class passed to it. Instead, it returns a new, connected component class, for you to use. Your wrapped component will receive two additional props:
An Auth0 Profile object for an authenticated user.
Call to update profile. Returns a Promise
that may resolve into an error if the update fails.
Tip: The profile props can be quickly added to your component's propTypes
with connectProfile.PropTypes
static propTypes = {
...connectProfile.PropTypes
}
A wrapper around window.fetch
that will automatically set the Authorization
header when a user is authenticated.
Auth0 helps you to:
- Add authentication with multiple authentication sources, either social like Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce, amont others, or enterprise identity systems like Windows Azure AD, Google Apps, Active Directory, ADFS or any SAML Identity Provider.
- Add authentication through more traditional username/password databases.
- Add support for linking different user accounts with the same user.
- Support for generating signed Json Web Tokens to call your APIs and flow the user identity securely.
- Analytics of how, when and where users are logging in.
- Pull data from other sources and add it to the user profile, through JavaScript rules.
- Go to Auth0 and click Sign Up.
- Use Google, GitHub or Microsoft Account to login.
If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.
This project is licensed under the MIT license. See the LICENSE file for more info.