Auth0 provides an example for Angular — and is a good place to start thinking about how all this hooks together — but we really need an example with Ionic 3. One of the main reasons is the URL scheme for callbacks doesn't match up with how navigation is performed on a mobile app.
NOTE: After patchwork-implementing Auth0 with Ionic 3, this guide has been published: https://auth0.com/docs/quickstart/native/ionic3/01-login
Idea Capture
Some links (based on a Google search for "auth0 ionic 3"):
Overall approach
A good README.md found here. Using this as my checklist.
Custom URL Scheme
One option that had been recommended was using "deep links" which leaves the first part of the URL (scheme, host, port) unchanged and expands the end of the URL (path and/or hash). This approach sets up a different scheme altogether.
What's tough about this approach is it isn't a browser app at this point :(.
Configuration
There is substantial under-the-covers configuration going on. In short, use the cordova command to get things configured.
To change the configuration, it's best to uninstall and reinstall the plugin:
What we expect in the config.xml (and then propagated into the ./plugins/<platform>.json files:
"cordova-plugin-customurlscheme": {
"URL_SCHEME": "com.clueride.player",
"ANDROID_SCHEME": "com.clueride.player",
"ANDROID_HOST": "clueride.auth0.com",
"ANDROID_PATHPREFIX": "/cordova/com.clueride/callback"
}
Commands:
These steps must be performed inside the app's directory rather than the front-end-common module.
cordova plugin remove cordova-plugin-customurlscheme
cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=com.clueride.player --variable ANDROID_SCHEME=com.clueride.player --variable ANDROID_HOST=clueride.auth0.com --variable ANDROID_PATHPREFIX=/cordova/com.clueride/callback