/auth0-react-scripts

Bootstrap React projects with authentication. Supported and maintained by Community Developers, not Auth0. For more information about different support levels check https://auth0.com/docs/support/matrix

Primary LanguageJavaScriptMIT LicenseMIT

auth0-react-scripts

Use create-react-app to bootstrap a new React project with authentication.

Example

https://auth0-react-app.now.sh

Disclaimer

This repo is not a fork of create-react-app. It's just a fork of react-scripts with modifications to the project template.

Setup

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

Then, in order to start the app:

cd my-app/
npm start

Auth Helpers

login(lockOptions)

Show Auth0 lock. Accepts any options that lock.show() accepts.

logout()

Clears authentication token from the browser and redirects to /login.

requireAuth

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} />

connectProfile(Component)

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:

profile

An Auth0 Profile object for an authenticated user.

onUpdateProfile(attributes)

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
}

fetchAsUser(input, init)

A wrapper around window.fetch that will automatically set the Authorization header when a user is authenticated.

What is Auth0?

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.

Create a free Auth0 account

  1. Go to Auth0 and click Sign Up.
  2. Use Google, GitHub or Microsoft Account to login.

Issue Reporting

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.

Author

Auth0

License

This project is licensed under the MIT license. See the LICENSE file for more info.