- Create an Auth0 application for SPA
- Create an Auth0 application for native
- Create Quasar project
- Enable SessionStorage plugin
- Install @quasar/dotenv app extension
- Update environment variables
- .env
- Install Auth0 packages
- Create boot files
- src/boot/auth0.js
- src/boot/auth0-cordova.js
- Create auth service
- src/services/auth/index.js
- Create auth callback component
- src/components/Auth.vue
- Create logout component
- src/components/Logout.vue
- Update router index with auth0-corodova handler
- src/router/index.js
- Create login and logout buttons in MainLayout
- src/layouts/MainLayout.vue
- Display profile in Index
- src/pages/Index.vue
- Add callback and logout routes
- src/router/routes.js
- Add session validation in App
- src/App.vue
- Run Quasar in corodova mode
- Install cordova plugins
- Update AndroidLaunchMode
- src-cordova/config.xml
Setting | Value |
---|---|
Allowed Callback URLs | {corodova-package-id}://{auth0-domain}/cordova/{corodova-package-id}/callback |
Allowed Logout URLs | {corodova-package-id}://{auth0-domain}/cordova/{corodova-package-id}/callback |
Allowed Web Origins | |
Allowed Origins (CORS) | file://*, http://{local-ip-address}:8080 |
APP_BASEURL=http://<local-ip-address>:8080
AUTH0_DOMAIN=<auth0-domain>
AUTH0_CLIENTID=<auth0-clientid-for-spa>
AUTH0_NATIVE_CLIENTID=<auth0-clientid-for-native>
AUTH0_REDIRECTURI=http://<local-ip-address>:8080/auth_callback
AUTH0_AUDIENCE=<auth0-audience>
CORDOVA_PACKAGEID=<cordova-package-id>
// Quasar project directory
> yarn add auth0-js @auth0/cordova
// src-cordova directory
> cordova plugin add cordova-plugin-safariviewcontroller
> cordova plugin add cordova-plugin-customurlscheme \
--variable URL_SCHEME={corodova-package-id} \
--variable ANDROID_SCHEME={corodova-package-id} \
--variable ANDROID_HOST={auth0-domain} \
--variable ANDROID_PATHPREFIX=/cordova/{corodova-package-id}/callback
// src-cordova/config.xml
...
<widget ...>
...
<preference name="AndroidLaunchMode" value="singleTask" />
</widget>
The Auth0 setup is documented in the quasar-mobile-auth0 project. This is a continuation of that.
- Create a Firebase account (if necessary)
- Create a Firebase project
- Clone the
quasar-mobile-auth0
repo - Initialize Firebase
- Install Firebase SDK
- Create a Firebase boot file
- Update environment variables
- Create Firebase services files