This is a sample application that demonstrates the usage of a single Resource Server with namespaced scoping representing multiple APIs. This sample consists of:
- 2 Node.js APIs:
contacts
andcalendar
(you can think of them as microservices); - 1 Resource Server representing the 2 APIs;
- 2 Namespaced scopes:
read:contacts
andread:calendar
; - The Implicit Grant flow to obtain an
access_token
that works for both APIs
You will need to create an API using the Auth0 Dashboard called Organizer Service
with the unique identifier organize
(this is later used in the audience
parameter of your Authorization URL).
The API needs two namespaced scopes:
read:contacts
read:calendar
Prior to beginning, you may need to make some or all of the following changes so that the sample runs on your local environment:
.env
(Please note that this file will, by default, be hidden):- replace the placeholder with your Auth0 Domain
- update the ports you're using to serve your SPA and APIs
calendar-api.js
: replace each of the two placeholders with your Auth0 Domaincontacts-api.js
: replace each of the two placeholders with your Auth0 Domainindex.html
:- update the Authorization URL with your domain, Auth0 Client ID, and the port you're using to serve the SPA
- replace each of the two placeholders with the ports you're using to serve the
contacts
andcalendar
APIs
- Navigate to the root of your sample folder.
- Run
npm install
to install the dependencies. - Start the two Node.js APIs and the Node.js host for the SPA by running
npm run dev