The smoothest way to authenticate your users online

Kno combines magic links and modern device API's for a smooth user authentication experience.

Why?

Superior customer experience: No more passwords. That's a weight off their mind, and yours.

Rapid development: Get started in under 10 minutes with our secure integration.

Improved security: Passwords are the weak link in security today. Eliminate the password to eliminate a whole class of attacks.

Readme

Join the alpha, send us your email address. We'll get you onboard as soon as possible.

1. Get site credentials

Once set up, your account will have:

2. Add Kno to your website

Add the following snippet to any page where your users should be able to authenticate.

Once the user has authenticated, a pass token will be created. This token will be added to the knoToken field of the form and submitted to your servers.

<form action="/sign-in" method="POST">
  <script
    src="https://trykno.app/pass.js"
    data-site="[site-token]">
  </script>
  <button type="submit">Sign in</button>
</form>

You should not add this code to any page if the user is already authenticated.

3. Verify user's pass token

To complete authentication the server must verify the submitted pass token.

First, extract the pass token from the form, how you do this will depend on the server/framework in use.

Request the user information from Kno for the pass token.

curl "https://api.trykno.app/v0/pass" \
  -u [api-token]: \
  -d token=[pass-token]

Perchance your server doesn't use curl, in which case use your favourite HTTP client library to make the same request.

If the pass token was valid the user's persona for your site is returned.

{
  "persona": {
    "id": "[persona-id]"
  }
}

Any return status code other than 200 is an error and the client should be considered not authenticated.

4. Complete user's request

If a user has been successfully authenticated we can complete the sign in process. This step is also dependent on the server/framework you are using, typically the persona id received would be added to the user's session.

Note, any user action can be authenticated using Kno. For example a user might have a long lived session in which case you should reauthenticate important actions such as changing payment plan.

Help

For any help, such as integrating with specific servers/frameworks send us a message. We will be adding server integrations for various platforms in the near future.