Open3

Auth0でサインアップ時に独自のフォームを追加する方法

ハトすけハトすけ

調査結果

  • Auth0はセキュリティ的な理由から埋め込みログインよりもユニバーサルログインを好む
    • ユニバーサルログインとは、Auth0が提供するログインページでのログインのこと
  • しかし、カスタムフォームは基本的にはユニバーサルログインでは提供されておらず、埋め込みログインを使う必要がある
    • ユニバーサルログインの避難ハッチとしてカスタムテキストでフォームを埋め込み、Actionで取り出すというやり方があるが、残念ながらProffessional(月額2万以上)のプランからしか使えない
    • Auth0は他にProgressive Profiling(漸進的にアカウント情報を取得する)を提案している。一旦アカウント作らせたあとに、自分たちが取りたい情報を取得しろとのこと。しかしパスワード、メールアドレスと同時に氏名や役職などを聞いたほうがユーザー体験がよかったり、ビジネス的な要求を満たせる場合もある。
  • 埋め込みログインの実装方法として、UI一体化ライブラリのLockやSDK(もしくは直接API)を使う方法がある
  • next-authはユニバーサルログインにしか対応していない

参考
https://community.auth0.com/t/universal-login-loginwithredirect-options/125875/4
https://auth0.com/docs/manage-users/user-accounts/user-profiles/progressive-profiling
https://auth0.com/blog/customizations-for-signup-and-login-are-generally-available/

ハトすけハトすけ

結論

サインアップ時に独自フォームを作りたい場合のフローチャート

Professionalプランを契約している

→ ユニバーサルログインのcustom text partial と action の利用

Essentialプラン以下の契約

引き続きユニバーサルログインを使用したい&サインアップ時の独自フォームを諦めてもよい
→ Progressive Profiling

独自埋め込みログインを使用したい&UIを作りたくない
→ Lockを使う(additionalSignUpFields)

独自埋め込みログインを使用したい&独自のUIを提供したい
→ SDK(もしくは直接API)を使う