WebAuthn
概要
Casdoorのお客様に喜んでお知らせします。Casdoorは現在、WebAuthnを使用したログインをサポートしています。 これは、お使いのデバイスがこれらのクールな認証方法とWebAuthnをサポートしている場合、指紋や顔認識、あるいはUディスクを使用してログインできることを意味します。
WebAuthnとは何ですか?
WebAuthnは、W3CとFIDOがGoogle、Mozilla、Microsoft、Yubicoなどと協力して書かれたWeb認証APIの仕様です。 このAPIにより、サーバーはパスワードの代わりに公開鍵暗号を使用してユーザーを登録および認証できます。 サーバーがWindows HelloやAppleのTouch IDなど、デバイスに組み込まれた強力な認証器と統合できるようにします。
簡単に言うと、WebAuthnはユーザーに公開鍵-秘密鍵のペアを生成させ、公開鍵をウェブサイトに提供することを要求します。 ユーザーがウェブサイトにログインしたい場合、ウェブはランダムな数字を生成し、ユーザーにその秘密鍵で暗号化して結果を返送するように求めます。 結果を受け取ると、ウェブサイトは公開鍵を使用してそれを復号します。 復号された数字が以前に生成されたランダムな数字と一致する場合、ユーザーは正当なユーザーと見なされ、ログインするためのアクセスが許可されます。 公開鍵とユーザー名やユーザーの認証器に関する情報などの必要な情報の組み合わせは、ウェブサイトによって保存されるWebAuthn Credentialと呼ばれます。
公開鍵-秘密鍵のペアは、ユーザーのユーザー名、ユーザーの認証器、およびウェブサイトのURLという3つの情報に独占的かつ一意に関連付けられています。 つまり、(ユーザーのユーザー名、ユーザーの認証器、およびウェブサイトのURL)の組み合わせが同じであれば、鍵のペアも同一であるべきであり、その逆もまた然りです。
WebAuthn技術に関するより詳細な情報については、https://webauthn.guide/を訪れてください。
CasdoorでWebAuthnを使用する方法
ログインページで、WebAuthnを使用してログインするオプションにすでに気づいているかもしれません。 ただし、まだWebAuthnクレデンシャル(WebAuthパスワードに例えられるもの)を持っていない場合、このチュートリアルでは、クレデンシャルを作成および管理し、それを使用してログインする方法を示します。
ステップ0:設定を変更し、WebAuthn認証を有効にする
conf/app.conf
ファイルで、次の設定を見つけることができます:
origin = "http://localhost:8000"
この設定がウェブサイトのURLと正確に一致していることを確認してください。
注:WebAuthnはHTTPSでのみサポートされていますが、localhostを使用している場合はこの限りではありません。
次に、管理者としてログインし、アプリケーションの編集ページに移動します。 "Enable WebAuthn signin"スイッチをオンにします。 デフォルトでは、この機能は有効になっていません。
ステップ1:「マイアカウント」ページに移動する
アカウントページに移動します。 このページでは、「Add WebAuthn Credential」ボタンと、以前に登録したすべてのWebAuthnクレデンシャルを表示するリストが見られるはずです。
ボタンをクリックし、デバイスの指示に従ってCasdoorに新しいクレデンシャルを登録します。 リスト内の「delete」ボタンを使用して、任意のクレデンシャルを削除できます。
ステップ2:WebAuthnを使用してログインする
このステップを開始する前に、Casdoorからログアウトしていることを確認してください。
ログインページに移動し、WebAuthnログイン方法を選択し、ユーザー名を入力してログインボタンをクリックします。 デバイスの指示に従ってください。
(例えば、指紋とWindows Helloを使用している場合、このようなものが表示されるはずです)
これにより、正常にログインされます。