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