The Next Generation of Passwords

The next generation of passwords is no passwords. Identify Your customers by who they are - their face, finger or a security key.

secure

Secure

unpass is more secure than conventional passwords. There is no password to steal or phish.

user

User Friendly

No more password managers or writing down passwords. You become Your password.

Step 1

User uses their email to sign up. Your user is very happy that they don't have to keep track of yet another password.

Step 2

User logs in via fingerprint, facial recognition or a security key, in other words, something that they won't forget.

Step 3

Our server confirms if the user is who they claim to be and you get a simple true or false response.

Simple to Implement

Registering

Registering a user for passwordless login is as simple as passing in your public key and calling the registerDevice function. The function will throw an error in case the registration fails.

1 2 3 4 import { Passwordless } from "passwordless-js"; const passwordless = new Passwordless(public_key); await passwordless.registerDevice(user_email);

Logging In

When you request a login, our library returns some data that we use to authenticate a user. You will need to pass this data to your own server, where we can securely verify the user login data.

1 2 3 4 5 6 import { Passwordless } from "passwordless-js"; import axios from "axios"; const passwordless = new Passwordless(public_key); const loginData = await passwordless.loginBegin(user_email); await axios.post("/my-login-endpoint", loginData);

Authenticating

Finally, on your server call the loginComplete function with the loginData from the last step. This will either return true or throw an Error. This way you have the freedom of choosing how to authenticate your users, be it with a JWT, sessions or something else.

1 2 3 4 5 6 import { loginComplete } from "passwordless-node"; const isUserAuthenticated = await loginComplete(loginData, private_key); if (isUserAuthenticated) { // Return a JWT, create a session, etc... }