• Stars
    star
    5,658
  • Rank 7,213 (Top 0.2 %)
  • Language
    Go
  • License
    Other
  • Created over 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Authentication and user management for the passkey era.


Test Status Build Status Go Report Card GoDoc npm (scoped) npm (scoped)

About Hanko

Hanko is an open-source authentication and user management solution with a focus on moving the login beyond passwords, while being 100% deployable today.

  • Built around passkeys as introduced by Apple, Google, and Microsoft
  • Fast integration with Hanko Elements web components (login box and user profile)
  • API-first, small footprint, cloud-native

Available for self-hosting and on Hanko Cloud.

Hanko is built and maintained by Hanko.io, an active member of the FIDO Alliance. This project is the sum of 5 years of experience implementing FIDO and WebAuthn-based authentication in different applications and platforms.

We take you on the journey beyond passwords ...

... and make sure your users won't get lost on the way. Passwordless logins have been promised to us for quite some time. But until now, "passwordless" was mostly a compromise that only worked for some of the users and had some severe drawbacks that ultimately led to passwords still being present at almost every login. It's only very recently that passkeys were announced and the ecosystem of devices, browsers, and operating systems is finally ready to truly move beyond passwords.

With most devices and browsers now shipping with passkey support and convenient built-in authentication technology like Touch ID, Face ID, and Windows Hello, a much better login experience is enabled that will replace passwords for good. Hanko is built for that shift.

Build your passkey-powered auth stack with a few lines of code – and never look back.

Architecture

The main building blocks of the Hanko project are

  • backend - An authentication API for passkeys, passcodes, and (optional) passwords, as well as user management and JWT issuing
  • hanko-elements - Web components made for Hanko backend that provide onboarding and login functionality and are customizable with CSS
  • hanko-frontend-sdk - A client package for using the Hanko API

The remainder of the repository consists of:

  • quickstart - A quickstart example app, showing off Hanko's login experience and acting as a reference implementation
  • examples - Example implementations for a number of frameworks
  • docs - The Hanko documentation (docs.hanko.io)

Getting started

  1. Try our hosted live example and our companion page passkeys.io or use the quickstart app to get a feel for the user experience provided by an application that leverages the Hanko backend API and our custom web component
  2. Head over to the backend to learn how to get it up and running for your own project. Use Hanko Cloud for a hosted backend.
  3. Then, integrate hanko-elements – we provide example applications and guides for your favourite frontend framework in the official documentation

If you want to use the Hanko backend API but prefer to build your own UI, you can still make use of the hanko-frontend-sdk. It forms the basis of our web components and the client it provides handles communication with the Hanko backend API and saves you the time of rolling your own.

Roadmap

We are currently in Beta and may introduce breaking changes. Watch our releases, leave a star, join our Slack community, or sign up to our product news to follow the development. Here's a brief overview of our roadmap:

Status Feature
βœ… Passkeys
βœ… Email passcodes
βœ… Passwords
βœ… JWT signing
βœ… User management API
βœ… πŸ“’ Hanko Alpha Release
βœ… <hanko-auth> web component
βœ… Customizable CSS
βœ… πŸ“’ Hanko Beta Release
βœ… JavaScript frontend SDK
βœ… Passkey autofill (Conditional UI)
βœ… Audit logs API
βœ… Security Key support
βœ… Mobile app support
βœ… <hanko-profile> web component
βœ… Rate limiting
βœ… OAuth logins (Sign in with Apple/Google/GitHub)
βš™οΈ User import / export
βš™οΈ i18n & custom translations
βš™οΈ Mobile SDKs
Sign in with Microsoft

Additional features that have been requested or that we would like to build but are currently not on the roadmap:

  • Basic email templating
  • Refresh tokens / sessions
  • 2FA for securing passcodes & passwords
  • Webhooks
  • Priviledged sessions & step-up authentication
  • Bot protection / Captcha
  • SMS passcode delivery
  • SAML support

Community

Questions, bugs, ideas

If you have any questions or issues, please check this project's Q&A section in discussions and the open issues. Feel free to comment on existing issues or create a new issue if you encounter any bugs or have a feature request. For yet unanswered questions, feedback, or new ideas, please open a new discussion.

Slack community & Twitter

We invite you to join our growing Slack community if you want to get the latest updates on passkeys, WebAuthn, and this project, or if you just want to chat with us. You can also follow us on Twitter.

Licenses

hanko-elements and hanko-frontend-sdk are licensed under the MIT License. Everything else in this repository, including hanko backend, is licensed under the AGPL-3.0.

More Repositories

1

passkeys

FIDO2-certified passkey server and SDKs for adding passkey support to any auth system
Go
109
star
2

apple-wwdc21-webauthn-example

Apple Passkey Demo with Hanko Authentication API, using WebAuthn
Go
27
star
3

webauthn-go

WebAuthn (FIDO2) server library written in Go
Go
23
star
4

apple-wwdc21-ios-demo-shiny

This app authenticates users with passkeys (aka WebAuthn credentials) that are shared with a web app. It requires the Apple passkey demo web app as backend.
Swift
16
star
5

hanko-nuxt-starter

Nuxt example app showcasing Hanko integration for authentication and user management.
Vue
11
star
6

hanko-nextjs-starter

Next.js App Router example showcasing Hanko integration for authentication and user management.
TypeScript
10
star
7

hanko-android-example

An Android app demo for passkey authentication using Hanko backend.
Kotlin
8
star
8

docs

The Hanko documentation
MDX
8
star
9

passkeys-example-next-auth

Next.js and Auth.js example using the Hanko passkey provider
TypeScript
7
star
10

hanko-go

Golang SDK for accessing the Hanko Authentication API
Go
7
star
11

nextjs-example

TypeScript
6
star
12

passkeys-python

A Python Flask example app with passkey authentication, using Hanko Passkey API
TypeScript
6
star
13

hanko-sveltekit-starter

SvelteKit example app showcasing Hanko integration for authentication and user management.
Svelte
4
star
14

hanko-hono-react-starter

React-Hono example app showcasing Hanko integration for authentication and user management.
TypeScript
4
star
15

hanko-supabase

TypeScript
3
star
16

passkeys-example-node

Minimal Node.js server showcasing the Hanko Passkey API
JavaScript
3
star
17

hanko-python

Python SDK for accessing the Hanko Authentication API
Python
3
star
18

passkeys-react-express

A React + Express example app with passkey authentication, using Hanko Passkey API
TypeScript
3
star
19

symfony-example

A PHP example app using Symfony and Hanko for authentication
PHP
2
star
20

hanko-react-express-starter

React-Express example app showcasing Hanko integration for authentication and user management.
TypeScript
2
star
21

hanko-webauthn-quickstart-java

Hanko Authentication API quickstart application for Java Spring
JavaScript
2
star
22

hanko-webauthn-quickstart-golang

Hanko Authentication API quickstart application written in Golang
JavaScript
2
star
23

passkeys-next-auth-starter

Next.js starter using NextAuth and Hanko Passkey API
TypeScript
2
star
24

passkeys-t3-stack

A T3 example app with passkey authentication, using Hanko Passkey API
TypeScript
2
star
25

hanko-nextjs-starter-pages-router

Next.js Pages Router example showcasing Hanko integration for authentication and user management.
TypeScript
1
star
26

hanko-vue-express-starter

Vue-Express example app showcasing Hanko integration for authentication and user management.
Vue
1
star
27

passkeys-remix

A Remix example app with passkey authentication, using Hanko Passkey API
TypeScript
1
star
28

passkeys-svelte-express

A Svelte + Express example app with passkey authentication, using Hanko Passkey API
JavaScript
1
star
29

passkeys-nextjs

A Next.js example app with passkey authentication, using Hanko Passkey API
TypeScript
1
star
30

hanko-dotnet

.NET Core SDK for accessing the Hanko Authentication API
C#
1
star
31

hanko-python-example

Python example application demonstrating passwordless authentication using the Hanko Authentication API
JavaScript
1
star
32

hanko-java

Java SDK for accessing the Hanko Authentication API
Java
1
star
33

hanko-dotnet-example

Example application demonstrating WebAuthn/FIDO2-based authentication with the Hanko Authentication API and the Hanko .NET SDK
JavaScript
1
star
34

passkeys-solid-hono

A Solid + Hono example app with passkey authentication, using Hanko Passkey API
TypeScript
1
star
35

passkeys-rust

A Rust + React example app with passkey authentication, using Hanko Passkey API
TypeScript
1
star
36

hanko-solid-express-starter

Solid-Express example app showcasing Hanko integration for authentication and user management.
TypeScript
1
star
37

hanko-svelte-express-starter

Svelte-Express example app showcasing Hanko integration for authentication and user management.
Svelte
1
star