利用可否は Auth0 のプランによって異なります
この機能が利用可能かどうかは、使用しているログイン実装と、Auth0 のプランまたはカスタム契約の内容によって異なります。詳しくは、Pricing を参照してください。
- 外部リンク用アプリケーションを使用する Action
- Auth0
- Auth0.js ライブラリ
外部リンクアプリケーションを使用する Action
- Action が、リンク対象となる可能性のあるユーザーアカウントを特定します (存在する場合) 。
-
Action が、候補となるユーザーのアイデンティティを含むトークンペイロードとともに、ユーザーを外部リンクアプリケーションにリダイレクトします。
- 外部リンクアプリケーションが、リンクするアカウントの認証情報を使って認証するようユーザーに求めます。
-
外部リンクアプリケーションが、プライマリおよびセカンダリのユーザーアイデンティティを含むトークンペイロードとともに、ユーザーを Action にリダイレクトして戻します。
- Action が、トークンの真正性と内容を検証します。
- Action が、外部リンクアプリケーションからの結果に基づいて Management API を呼び出し、アカウントをリンクします。
-
event.user.user_idと一致しない場合、Action がプライマリユーザーに切り替えます。
例: アカウントリンク用 Action
Management API
update:current_user_identitiesスコープを持つ を使用する、ユーザー主導のクライアントサイドでのアカウントリンク。update:usersスコープを持つアクセストークンを使用する、サーバーサイドでのアカウントリンク。
ユーザー主導のクライアントサイドでのアカウントリンク
update:current_user_identitesスコープ- URL の一部として含まれるプライマリアカウントの
user_id - RS256 で署名され、リクエスト元のアクセストークンの
azpクレーム の値と一致するクライアントを識別するaudクレーム を含む、セカンダリアカウントの
update:current_user_identities スコープを含むアクセストークンは、現在ログインしているユーザーの情報の更新にのみ使用できます。そのため、この方法はユーザー自身がリンク処理を開始するシナリオに適しています。
サーバーサイドのアカウントリンク
update:usersスコープ- URL の一部として指定するプライマリアカウントの
user_id - セカンダリアカウントの
user_id - RS256 で署名され、要求元のアクセストークンの
azpクレームの値と一致するクライアントを識別するaudクレームを含む、セカンダリアカウントの IDトークン
update:users スコープを含むアクセストークンは、任意のユーザー情報の更新に使用できます。そのため、この方法はサーバーサイドのコードでのみ使用することを想定しています。
セカンダリユーザーアカウントの user_id と provider は、その一意の識別子から判別できます。たとえば、識別子 google-oauth2|108091299999329986433 の場合:
providerはgoogle-oauth2user_idは108091299999329986433
provider と user_id の代わりに、セカンダリアカウントの IDトークン を送信することもできます: