Menu Close

8.3.3. パスワードなしのブラウザーログインフローの作成

フローの作成を説明するために、本セクションでは高度なブラウザーログインフローの作成について説明します。このフローの目的は、ユーザーが、WebAuthn によるパスワードなしの方法でのログインと、パスワードと OTP を使用した二要素認証を選択できるようにすることです。

手順

  1. メニューで Authentication をクリックします。
  2. Flows タブをクリックします。
  3. New をクリックします。
  4. エイリアスとして Browser Password-less を入力します。
  5. Save をクリックします。
  6. Add execution をクリックします。
  7. ドロップダウンリストから Cookie を選択します。
  8. Save をクリックします。
  9. Cookie 認証タイプの Alternative をクリックして、その要件を代替に設定します。
  10. Add execution をクリックします。
  11. ドロップダウンリストから Kerberos を選択します。
  12. Add execution をクリックします。
  13. ドロップダウンリストから Identity Provider Redirector を選択します。
  14. Save をクリックします。
  15. Identity Provider Redirector 認証タイプの Alternative をクリックして、その要件を代替に設定します。
  16. Add flow をクリックします。
  17. エイリアスとして Forms を入力します。
  18. Save をクリックします。
  19. Forms 認証タイプの Alternative をクリックして、その要件を代替に設定します。

    ブラウザーフローの共通部分

    Passwordless browser login common

  20. Actions for the *Forms 実行をクリックします。
  21. Add execution を選択します。
  22. ドロップダウンリストから Username Form を選択します。
  23. Save をクリックします。
  24. Username Form 認証タイプの Required をクリックして、その要件を必須に設定します。

この段階では、フォームにはユーザー名が必要ですが、パスワードは必要ありません。セキュリティーリスクを回避するために、パスワード認証を有効にする必要があります。

  1. Forms サブフローの Actions をクリックします。
  2. Add flow をクリックします。
  3. エイリアスとして Authentication を入力します。
  4. Save をクリックします。
  5. Authentication 認証タイプの Required をクリックして、その要件を必須に設定します。
  6. Authentication サブフローの Actions をクリックします。
  7. Add execution をクリックします。
  8. ドロップダウンリストから Webauthn Passwordless Authenticator を選択します。
  9. Save をクリックします。
  10. Webauthn Passwordless Authenticator 認証タイプの Alternative をクリックして、その要件を代替に設定します。
  11. Authentication サブフローの Actions をクリックします。
  12. Add flow をクリックします。
  13. エイリアスとして Password with OTP を入力します。
  14. Save をクリックします。
  15. Password with OTP 認証タイプの Alternative をクリックして、その要件を代替に設定します。
  16. Password with OTP サブフローの Actions をクリックします。
  17. Add execution をクリックします。
  18. ドロップダウンリストから Password Form を選択します。
  19. Save をクリックします。
  20. Password Form 認証タイプの Required をクリックして、その要件を必須に設定します。
  21. Password with OTP サブフローの Actions をクリックします。
  22. Add execution をクリックします。
  23. ドロップダウンリストから OTP Form を選択します。
  24. Save をクリックします。
  25. OTP Form 認証タイプの Required をクリックして、その要件を必須に設定します。

最後に、バインディングを変更します。

  1. Bindings タブをクリックします。
  2. Browser Flow ドロップダウンリストをクリックします。
  3. ドロップダウンリストから Browser Password-less を選択します。
  4. Save をクリックします。

パスワードなしのブラウザーログイン

Passwordless browser login

ユーザー名を入力すると、フローは以下のように機能します。

ユーザーの WebAuthn パスワードレス認証情報が記録されている場合は、これらの認証情報を使用して直接ログインできます。これはパスワードなしのログインです。WebAuthn Passwordless 実行および Password with OTP フローが Alternative に設定されているため、ユーザーは Password with OTP を選択することもできます。Required に設定されている場合は、ユーザーは WebAuthn、パスワード、および OTP を入力する必要があります。

ユーザーが WebAuthn passwordless 認証で Try another wayのリンクを選択する場合、ユーザーは PasswordSecurity Key(WebAuthn パスワードレス)のいずれかを選択できます。パスワードを選択すると、ユーザーは続行して、割り当てられた OTP でログインする必要があります。ユーザーに WebAuthn 認証情報がない場合は、ユーザーはパスワードを入力し、続いて OTP を入力する必要があります。ユーザーに OTP 認証情報がない場合は、記録することが要求されます。

注記

WebAuthn Passwordless 実行は Required ではなく Alternative に設定されているため、このフローはユーザーに WebAuthn 認証情報を登録するように要求しません。ユーザーに Webauthn 認証情報を設定するには、管理者がユーザーに必要なアクションを追加する必要があります。これを行うには、以下を実行します。

  1. レルムで Webauthn Register Passwordless で必要なアクションを有効にします(WebAuthn のドキュメントを参照)。
  2. ユーザーの Credentials 管理メニューの Credential Reset 部分を使用して、必要なアクションを設定します。

このような高度なフローを作成すると、副次的な影響が生じる可能性があります。たとえば、ユーザーのパスワードをリセットできるようにする場合は、パスワードフォームからアクセスが可能になります。デフォルトの Reset Credentials フローで、ユーザーはユーザー名を入力する必要があります。ユーザーは Browser Password-less フローで先にユーザー名を入力しているため、Red Hat Single Sign-On ではこの操作は必要なく、ユーザーエクスペリエンスとしては最適ではありません。この問題を修正するには、以下を行います。

  • Reset Credentials フローをコピーします。たとえば、その名前を Reset Credentials for password-less に設定します。
  • Choose user 実行の Actions メニューで Delete を選択します。
  • Bindings メニューで、認証情報のリセットフローを Reset Credentials から Reset Credentials for password-less に変更します。