Importing this script will register the Passage custom element for use in your Vue components. For more information about custom elements refer to the online documentation.
It's then just a matter of embedding the passage-auth element into your component that will handle login. This is done in this example in frontend/src/views/Home.vue:
Configuring Vue to Recognize Custom Elements
Vue works with custom elements out of the box but by default it will log a warning to the console that it could not resolve the component for the custom element. To configure Vue with information that the <passage-auth> tag is a custom element and suppress this warning you can add this configuration to vue.config.js:
// treat any tag that starts with passage- as custom elements
Getting Authentication Status and User Information
After the user has logged in with Passage, you can check if a user's auth token is valid and retrieve basic user information from Passage using the PassageUser class exported from @passageidentity/passage-auth/passage-user. This example wraps this functionality into a reusable Vue composable in useAuthStatus:
The PassageUser().authGuard() can be used as a route guard in your application, but it should NOT be make authorization decisions when fetching data from an API server. Route guards provide a better user experience, but less security than using one of Passage's backend libraries. For applications using an API server, you must use one of the Passage backend SDKs to safely verify user authentication tokens.