This document explains how to integrate the verification flow directly from your web application through our JavaScript component to verify the identity of your users. This stage might be at the signup page of your application, or at a later point to enrich the profiles of your users. The guide assumes the preliminary steps have already been completed as explained in the initial setup section of the documentation.
We suggest you follow our best practice how to integrate Passbase in your wider system in the overview section.
Start by installing our component and its dependencies in your Angular project:
$ npm i --save @passbase/button
$ yarn add @passbase/button
Import the Angular component from the newly installed npm package. The package supports UMD modules, the ES import method is presented below.
src/app/app.component.tsimport Passbase from "@passbase/button";
Place the new HTML element where you want the component to render inside your application:
src/app/app.component.html<div #passbaseButton></div>
In order for the button to render correctly, you'll need to pass your apiKey as an argument to the rendering function. Optionally you can also pass in different handler functions like e.g. the onFinish, onStart, or onError method to handle different events of the button flow.
Property | Description |
| The Passbase API Key you obtained from the dashboard |
|
|
|
|
| ​ |
src/app/app.component.tsimport Passbase from '@passbase/button';import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core';​export class AppComponent implements AfterViewInit {​@ViewChild("passbaseButton") passbaseButton: ElementRef;​ngAfterViewInit() {Passbase.renderButton(this.passbaseButton.nativeElement,"YOUR_API_KEY",{onFinish: (identityAccessKey) => {},onError: (errorCode) => {},onStart: () => {}})}}
Make sure you're using a publishable API key for this client side integration
The button should now render as shown here:
During the verification flow, your users will be asked to provide some information which you might already have in your application e.g. the user's email. In this case, you can use the prefillAttributes object to skip the email step.
Property | Value |
|
|
​ |
|
Passbase.renderButton(this.passbaseButton.nativeElement,"YOUR_API_KEY",{onFinish: (identityAccessKey) => {},prefillAttributes: {email: "[email protected]",country: "de"}})
In order for your application to interoperate with Passbase, you need to add a reference to your users once the Verification is completed.
For that, you need to keep track of the identityAccessKey returned by the onFinish callback and associate it in your backend with your users' id. We recommend to either save this key after the onFinish method to your user's model, or listen for incoming webhooks and then link back via the email address of the user.
const onFinish = (identityAccessKey) => {console.log(identityAccessKey)// Make a request to your backend/db and save the key to your user's profile}​Passbase.renderButton(element, apiKey, { onFinish })
Our component currently supports a set of customization options which will influence the appearance of the modal, once opened. The preferred way to customize this is via the developer dashboard's customization section.
Here you can choose amongst a variety of colors, fonts, accepted countries & much more.
The modal also supports a darkMode
attribute, which supersedes the effects of any customization selected within the developer dashboard. This is especially useful if your App has a dark UI or you simply want to spare your users' eyes at night. You can activate the darkmode via the theme
attribute.
Property | Value |
|
|
​ |
|
Passbase.renderButton(this.passbaseButton.nativeElement,"YOUR_API_KEY",{onFinish: (identityAccessKey) => {},theme: {darkMode: true,systemDarkMode: true}})
We support a variety of different languages for the verification flow. As of this writing more than 10 including (English, Spanish, German & many more). If one is missing and you want us to add support for it, please reach out to our customer support.
The Verification flow automatically detects the language of the user's browser settings. If we support the language, the verification flow will be set to it. Otherwise the default is English.
If you've followed this integration guide, you have successfully integrated Passbase in your Website. You can also check out the code below that shows a working example and compare it with your own solution. To run the code press the Open Sandbox button in the lower right corner.
The demo needs to be in an window in order for the Javascript to work & render the Passbase verification flow. Hence open the Sandbox and then click the Open in New Window button in the top right corner to open the rendered page in a new tab.
You can find this code inside a fully working Angular application in our Github repositories.​
You have successfully completed the Passbase Angular Integration! 🎉