Connected Accounts を使用すると、1 つの Auth0 ユーザープロファイルに複数の外部アカウントをリンクできます。サポートされている外部プロバイダーで Connected Accounts を有効にすると、ユーザーが正常にログインした後、Auth0 はそのプロバイダーのアカウントを自動的にユーザープロファイルに追加します。詳しくは、Token Vault の Connected Accounts を参照してください。
利用可否は Auth0 プランによって異なります
この機能が利用可能かどうかは、ログイン実装の構成と Auth0 プランまたはカスタム契約の両方によって決まります。詳しくは、Pricing を参照してください。
アカウントリンクの利点
- ユーザーは、IDプロバイダーごとに別々のプロファイルを作成しなくても、どのIDプロバイダーでもログインできます
- 登録済みのユーザーは、新しいソーシャルログインまたはログインを使いながら、既存のプロファイルをそのまま利用できます
- パスワードレスログインで登録したユーザーは、より充実したプロファイルを持つアカウントにリンクできます
- アプリケーションで、さまざまな接続に保存されているユーザープロファイルデータを取得できます
注意事項
仕組み
user_idとその他すべてのメインプロファイル属性は、引き続きプライマリ identity のものですuser.identities配列の最初の identity はプライマリ identity です- セカンダリアカウントは、プライマリプロファイルの
user.identities配列内に埋め込まれます - セカンダリアカウントの属性は、配列内の対応する identity の
profileDataフィールドに格納されます - プライマリアカウントの
user_metadataとapp_metadataは変更されません - セカンダリアカウントの
user_metadataとapp_metadataは破棄されます - 関連する identity を持つユーザープロファイルが自動的にマージされることはありません
- セカンダリアカウントはユーザー一覧から削除されます
- プライマリアカウントを削除すると、セカンダリアカウントも削除されます
メタデータのマージ
/users/patch_users_by_id エンドポイントを使用して手動で行う必要があります。
APIv2 向け Auth0 Node.js SDK も利用できます。
詳細については、ユーザープロファイルにおけるメタデータの仕組み を参照してください。
シナリオ
- ユーザー主導のアカウントリンク: アプリ内の管理画面から、ユーザーが自分のアカウントをリンクできるようにします。
- 提案型のアカウントリンク: 同じメールアドレスを持つアカウントを特定し、アプリ内でユーザーにアカウントのリンクを促します。
ユーザー主導のアカウントリンク
推奨されるアカウントリンク
user@gmail.com で Google アカウントを作成したあと、同じメールアドレスに関連付けられた Facebook アカウントでログインする場合があります。
このような場合は、リンク先のアカウントでまず認証してもらったうえで、リンク可能なアカウントの一覧をユーザーに表示できます。
同じことを実現するには、Account Link Extension を使用することもできます。