Universal Login を推奨
Auth0 では、独自のカスタムログインページやサインアップページを作成したり、Auth0 ライブラリに埋め込まれたものを使用したりする代わりに利用できる Universal Login を提供しています。サインアップとログインのオプションを提供したいだけで、カスタマイズがアプリケーション名、ロゴ、背景色のみで済むのであれば、Universal Login のほうが簡単に実装できる場合があります。
Lock の使用
additionalSignUpFields オプションが使えるのは、Database のサインアップのみです。ソーシャル を使用したサインアップでは、Lock で同じ方法でこれらのフィールドを収集することはできません。ただし、追加のカスタムフィールドを収集しつつ、Lock でソーシャル IDP サインアップを可能にする方法が 2 つあります。
別のページにリダイレクトする
段階的プロファイリング
API の利用
カスタムフィールドを収集するサインアップフォームを作成する
name はユーザープロファイルの属性で、color はカスタムフィールドです。
現在、サインアップ時にユーザーが入力したカスタムフィールドをバリデーションする方法はありません。バリデーションは、ログイン時に Auth0 の Rule で行うか、アプリケーション内のカスタムのサーバーサイドロジックで行う必要があります。
フォームデータを送信する
- アプリケーションの
client_id - サインアップするユーザーの
emailとpassword - ユーザーデータの保存先となるデータベース
connectionの名前 - ユーザーの更新したい任意のユーザープロファイル属性 (
given_name、family_name、name、nickname、pictureなど) user_metadataに含める任意のカスタムフィールド
カスタムフィールドの制限事項
user_metadata の一部として送信されます。このフィールドには次の制限があります。
user_metadataに含められるフィールドは最大 10 個ですuser_metadata.fieldは文字列である必要がありますuser_metadata.field.value.lengthは 500 文字未満である必要がありますuser_metadata.field.lengthは 100 文字未満である必要がありますuser_metadataの現在のサイズ上限は 16 MB です
リダイレクトモード
id_token) をクエリ文字列に付けて、設定済みのコールバック URL にユーザーをリダイレクトします。
その後、必要なカスタムフィールドをユーザーのプロファイルに追加するには、サーバーから APIv2 を呼び出す必要があります。
サインアップフォームにユーザー名を追加する
username フィールドを取得し、リクエストボディに username を追加します。