This example demonstrates how to setup a io.Manager instance to use Auth0 authentication (OAuth2 & OIDC).
io.Manager requires a database to connect to - this example uses MongoDB, but you can use any other of the supported databases. You will need to either have a local instance or setup a remote database to connect to. For more information visit our Documentation page on the subject: https://docs.interop.io/manager/databases/overview/index.html
io.Manager requires a license key to operate. To acquire a license key, contact us at sales@interop.io.
- In your Auth0 admin panel go to the Applications => APIs => Create API
- Put
http://localhost:4356/apias the identifier - Navigate to the Settings tab of the API
- Scroll down and check the Allow Offline Access checkbox
- Go to the RBAC Settings section and enable both Enable RBAC and Add Permissions in the Access Token
- Scroll down and click Save
- In the Permission tab of the API, add a permission called
adminwith a descriptionio.Manager Admin access. The Permission tab should look like this:
- In your Auth0 admin panel go to the Applications => Applications => Create Application
- Give it a name, select Single Page Web Applications and hit Create
- In the Settings tab of the API
- Copy Client ID, Domain for later use.
- Scroll to Application URIs and fill out the URLs
- Set Allowed Callback URLs to
http://localhost:3000/admin/callback - Set Allowed Logout URLs to
http://localhost:3000/admin/logout - Set Allowed Web Origins to
http://localhost:3000 - Click Save Changes
- Set Allowed Callback URLs to
- In your Auth0 admin panel go to the User Management => Users
- Select yor user
- Navigate to the Permissions tab
- Click on Assign Permissions
- Select the correct API and permission
- Click Add Permission
-
Navigate to the
io-manager-serverdirectory. -
Open
src/index.tsand look for theTODOcomments. -
Run the following commands to install the npm packages and start the server:
npm install
npm audit fix
npm run start
-
Navigate to the
io-manager-admin-uidirectory. -
Open
src/main.tsxand fill out the Auth0 client options. Look for theTODOcomments. -
Run the following commands to install the npm packages and start the application:
npm install
npm audit fix
npm run start
- The Admin UI can be found at http://localhost:3000/admin
To configure io.Connect Desktop to connect to io.Manager, add the following configuration in system.json:
{
// other configuration above
// copy from here....
"server": {
"enabled": true,
"url": "http://localhost:4356/api"
}
// ...to here
}This will add the Server as an additional application store. If you want the io.Manager Server to be the only app store, set the "appStores" top-level key to an empty array.
This will also instruct io.Connect Desktop to store Layouts and Application Preferences on the io.Manager Server.
To configure io.Connect Desktop to use the Auth0 sign-in page add the following configuration in system.json:
{
// other configuration above
// copy from here....
"ssoAuth": {
"authController": "sso",
"options": {
"url": "http://localhost:3000/gd",
"keepAlive": true,
"window": {
"width": 540,
"height": 660,
"mode": "flat"
}
}
}
// ...to here
}