Skip to content

OpenSaasAU/azure-webapps-auth0-api

Repository files navigation

Based on the Auth0 React SDK Sample Application

Deployed static web app demo here... More doco to come...

Currently using https://github.com/OpenSaasAU/azure-function-auth0-api deployed to Azure Functions for the API due to Issue #1

Requires the following github secrets when delpoying:

REACT_APP_AUTH0_AUDIENCE: Auth0 audience
REACT_APP_AUTH0_CLIENT_ID: Auth0 Client ID
REACT_APP_AUTH0_DOMAIN: Auth0 domain
REACT_APP_API_URL: URL for Azure Function ie https://<myfunction>.azurewebsites.net/api - The function called is then /GetMessage

Original Auth0 React Docs

This sample demonstrates the integration of Auth0 React SDK into a React application created using create-react-app. The sample is a companion to the Auth0 React SDK Quickstart.

This sample demonstrates the following use cases:

Project setup

Use npm to install the project dependencies:

npm install

Configuration

Create an API

For the "call an API" page to work, you will need to create an API using the management dashboard. This will give you an API identifier that you can use in the audience configuration field below.

If you do not wish to use an API or observe the API call working, you should not specify the audience value in the next step. Otherwise, you will receive a "Service not found" error when trying to authenticate.

Configure credentials

The project needs to be configured with your Auth0 domain and client ID in order for the authentication flow to work.

To do this, first copy src/auth_config.json.example into a new file in the same folder called src/auth_config.json, and replace the values with your own Auth0 application credentials, and optionally the base URLs of your application and API:

{
  "domain": "{YOUR AUTH0 DOMAIN}",
  "clientId": "{YOUR AUTH0 CLIENT ID}",
  "audience": "{YOUR AUTH0 API_IDENTIFIER}",
  "appOrigin": "{OPTIONAL: THE BASE URL OF YOUR APPLICATION (default: http://localhost:3000)}",
  "apiOrigin": "{OPTIONAL: THE BASE URL OF YOUR API (default: http://localhost:3001)}"
}

Note: Do not specify a value for audience here if you do not wish to use the API part of the sample.

Run the sample

Compile and hot-reload for development

This compiles and serves the React app and starts the backend API server on port 3001.

npm run dev

Deployment

Compiles and minifies for production

npm run build

Docker build

To build and run the Docker image, run exec.sh, or exec.ps1 on Windows.

Run your tests

npm run test

Frequently Asked Questions

If you're having issues running the sample applications, including issues such as users not being authenticated on page refresh, please check the auth0-react FAQ.

What is Auth0?

Auth0 helps you to:

  • Add authentication with multiple sources, either social identity providers such as Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce (amongst 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published