DUICUO

Hanko - 軽量なオープンソースのユーザー認証ソリューション

Hankoは、軽量でオープンソースのユーザー認証ソリューションであり、Auth0のオープンソース代替手段です。このプロジェクトは、オンライン認証方法に革命を起こすことを使命とする6人の開発者とデザイナーからなるチームによって考案されました。チームは過去4年間、Webとモバイルにおけるユーザー認証について研究を続け、その知識をすべてオープンソースプロジェクトに投入することを決定しました。

しかし、なぜ異なる認証ソリューションが必要なのでしょうか?

パスワードに代わる最初の主要な手段であるパスキーの登場により、ウェブサイトやアプリケーションの認証方法が根本的に変わり、ユーザーログインの仕組みを根本から見直すことができるでしょう。Hankoはまさにオープンソースプロジェクトです。

特性

ハンコには多くの特徴があります。

  • オープンソースのユーザー認証:Hankoは、ウェブサイトやアプリへの統合が特に容易なオープンソースのユーザー認証ソリューションです。Hankoは、最新のフロントエンドフレームワーク(Vanilla JS、React、Next、Vueなど)で使用できるウェブコンポーネントを提供し、CSSで完全にカスタマイズできるため、ブランドにシームレスに統合できます。
  • 私たちのパスワードとは?他社と違うのは、一歩引いて認証技術の方向性を見つめ直したことです。インターネットで最も影響力のある標準化団体であるW3Cの舞台裏で、パスワードに代わる恒久的な代替手段の構想が具体化しています。長年の開発を経て、ついに今年実現しました。それがパスキーです。
  • パスワードレスアカウントとパスワード:Passwordsは、史上初めて、真のパスワードレス認証体験を提供します。Magic Linksやスマートフォンに送信されるコードといった最近の技術とは異なり、HankoのPasswords実装は、コンテキストを切り替えることなく、便利で非常に安全なログイン体験を提供します。生体認証とパスワードチャレンジレスポンスプロトコルを組み合わせることで、PasskeysはフィッシングやSIMカードスワップといった最も一般的な攻撃から効果的に保護します。Passkeysログインの99%はTouch IDまたはFace ID、あるいはそれらと同等の生体認証を使用しており、これらの技術がスマートフォンのロック解除に導入されて以来、90%以上の導入率を達成する見込みであることから、Hankoはこうしたニーズに応えるために開発されました。
  • パスワードレスの旅はパスワードから始まります。HankoはPasskeysのログイン体験を基盤として構築されており、ユーザーをパスワードから解放します。しかし、私たちは今日誰もが使用しているもの、つまりパスワードを忘れないように細心の注意を払っています。そのため、従来のパスワード使用方法と新しいPasskeysのユーザーエクスペリエンスを組み合わせるために必要なすべてのユーザーフローに加え、オプションのパスワードサポートも提供しています。
  • 開発者向け:Hankoは、パスワードからパスキーへの移行を見据えた強力な認証ソリューションです。Hankoは、最新の認証ソリューションを求めるチームにとって最適な選択肢であり、パスキーを導入したい既存のログインユーザーにとっても理想的なプラグインです。

インストール

Hankoを使う最も速い方法はdocker-composeを使うことです。まず、プロジェクトをクローンします。

 $ git clone https://github.com/teamhanko/hanko.git

次に、hanko ディレクトリで次のコマンドを実行します。

 $ docker-compose -f deploy/docker-compose/quickstart.yaml -p "hanko-quickstart" アップ --build

サービスが起動したら、localhost:8888 でサンプルログインを開くことができます。独自の SMTP サーバーを使わずにメールを受信するために、mailslurper を追加しました。これは localhost:8080 で利用できます。

Hanko プロジェクト全体は、3 つのコア モジュールで構成されています。

  • バックエンド: パスキー、パスコード、パスワード、およびユーザー管理と JWT トークンの発行をサポートする認証 API。
  • hanko-js: 優れたログインエクスペリエンスと高度なカスタマイズ性を提供する、Hanko バックエンドの Web コンポーネントです。
  • 例: Hanko の利点を紹介し、リファレンス実装として機能するクイックスタート サンプル アプリケーション。

Hankoプロジェクトは、オンラインサンプルウェブサイト(https://example.hanko.io/)も提供しています。興味のある方はぜひアクセスして試してみてください。例えば、ブラウザでパスキーを使ってログインしようとすると、認証方法を選択するダイアログボックスが表示されます。認証方法は、現在のデバイスを使用するか、Androidスマートフォンを追加するか、USB接続のデバイスを使用するかなどです。

Git リポジトリ: https://github.com/teamhanko/hanko。