前提条件
- Auth0アカウントの取得
- Auth0にアプリケーションが登録済
- 登録方法はAuth0の導入方法を参照
- アプリケーションにログインできるユーザーが登録済
- Auth0のAPIを利用するため設定が完了済
- 設定方法はAuth0のAPIを使ったユーザー情報の操作を参照
はじめに
Auth0には「Auth0 Account Link」という、1ユーザーに対して複数のアカウントを連携できる拡張機能が存在してます。
本記事では「Auth0 Account Link」の設定方法とユーザーに連携したアカウントの解除方法を紹介します。
Auth0 Account Linkの設定方法
ここでは「Auth0 Account Link」の設定方法について解説します。
「Auth0 Account Link」はAuth0の拡張機能の1つで、設定方法は以下になります。
- 1.Auth0ダッシュボードから「Extensions」を選択し、「Auth0 Account Link」をクリック
- 2.画像のような画面が表示されるため、「install」をクリック
- 3.Installed Extensionsタブに「Auth0 Account Link」が追加されていることを確認し、選択
- 4.認証画面が表示されるため「許可」をクリック
- 5.設定画面が表示されるため「title」を入力し、「SAVE CHAGES」をクリック
- 6.アプリ側のログイン画面にて、「Auth0に既に登録済みのユーザー」と「同じメールアドレスで登録している他社アカウント」でログイン
- 今回は「メールアドレス/パスワード」で登録しているユーザーと「同じメールアドレスのGoogleアカウント」を連携
- 例
- 登録済みユーザー
- メールアドレス : sample@gmail.com
- パスワード : *******
- 連携するアカウント
- サービス : Googleアカウント
- メールアドレス : sample@gmail.com
- 登録済みユーザー
- 7.画像のような画面が表示されるため、「続ける」をクリック
- 8.メールアドレスとパスワードの入力を求めらるため、入力後に正常にログインできることを確認
- 9.Auth0ダッシュボードから該当のユーザーを確認し、「Accounts Associated」が追加されている事を確認
連携済みアカウントの解除方法
ここでは「Auth0 Account Link」で連携したアカウントを解除する方法を解説します。
連携したアカウントを解除するにはAPIを利用する必要があり、手順は以下になります。
※解除したアカウントでログインをしようとした場合、「Auth0 Account Link設定手順」の手順7以降と同様の手順になります。
- 1.APIでAccess Tokenを取得
curl --request POST \
--url 'https://{Domain}/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials \
--data 'client_id={ClientId}' \
--data 'client_secret={ClientSecret}' \
--data 'audience=https://{Domain}/api/v2/'
- 2.Auth0ダッシュボードから該当ユーザの情報を取得
- user_id : ユーザーのID
- provider : 連携されているアカウントのProvider
- user_id : 連携されているアカウントのID
- 3.下記のAPIを利用してアカウント連携を解除
- Token : 取得したaccess_token
- Domain : API Explorer ApplicationのDomain
- PrimaryUserId : 連携を解除したいユーザーのuser_id
- LinkedProvider : 連携を解除したいアカウントのProvider
- LinkedUserId : 連携を解除したいアカウントのuser_id
curl -H "Authorization: Bearer {Token}" -X DELETE https://{Domain}/api/v2/users/{PrimaryUserId}/identities/{LinkedProvider}/{LinkedUserId}
- 例
curl -H "Authorization: Bearer eyJ...g3w" -X DELETE https://dev-xxx.jp.auth0.com/api/v2/users/auth0%7C...a60/identities/google-oauth2/115...777
- 5.該当のユーザーを確認し、「Accounts Associated」が解除されている事を確認
終わりに
本記事ではAuth0で1ユーザーに対し、複数のアカウントを連携する方法とその解除方法を紹介しました。
今回紹介したアカウント連携に関する公式ドキュメントは以下になります。
Link User Accounts
Unlink User Accounts
- 閲覧数 813
画像










コメントを追加