name
やpicture
フィールドなどが含まれます。画像フィールドには、ソーシャルプロバイダーのプロフィール画像、またはユーザーのメールアドレスに関連付けられたGravatar画像のいずれかが入力されます。
デフォルトでは、すべてのデータベースユーザーにイニシャルの入ったプレースホルダー画像が設定されます。ユーザーの認証では、この画像フィールドはuser.picture
と呼ばれます。
Management APIを使用する
user.picture
属性がGoogle、Facebook、Xなど、Auth0以外のIDプロバイダーによって提供されている場合には直接編集できません。この属性を編集するには、ユーザープロファイルの作成時にのみIDプロバイダーからユーザー属性が更新されるように、Auth0との接続同期を構成する必要があります。詳細については、「ユーザープロファイルの更新にIDプロバイダー接続を構成する」をお読みください。そうすれば、ルート属性を個別に編集したり、を使用して一括インポートしたりできます。詳細については、「ユーザーを一括してインポートする」をお読みください。
または、メタデータを使用してユーザーの画像属性を保管することもできます。たとえば、アプリにプロフィール画像をアップロードする方法がある場合は、画像をアップロードすれば、user.user_metadata.picture
でURLを画像に設定できます。
アクションを使用する
user_metadata
からの画像がIDトークンで返されるようにするには、event.user.user_metadata.picture
属性の存在を確認する新しいアクションを作成し、存在する場合はuser.picture
属性をその値に置き換える必要があります。そうすると、user_metadata
からの画像がIDトークンのpicture
クレームで返されます。
- [Auth0 Dashboard]>[Actions(アクション)]>[Library(ライブラリー)]に移動して、[Build Custom(カスタムの構築)] を選択します。
-
アクションにわかりやすい名前 (
Change user pictures
など)を入力し、[Login / Post Login
(ログイン/ログイン後)]のトリガー(アクションをログインフローに追加することになるため)を選択してから**[Create(作成)]** を選択します。 -
Actionsコードエディターを見つけて、次のJavaScriptコードをコピーし、[Save Draft(下書きを保存)] を選択して変更を保存します。
- Actionsコードエディターのサイドバーから、[Test(テスト)](再生アイコン)を選択してから、[Run(実行)] を選択し、コードをテストします。
- アクションを稼働する準備ができたら、[Deploy(デプロイ)] を選択します。
すべてのユーザーのデフォルト画像を変更する
プロフィール画像を設定していないすべてのユーザーのデフォルト画像を変更するには、アクションを使用できます。例:picture
プロパティを上書きします。