Auth0を利用した複数アカウントの連携と解除

  •  
 
yoshino2023年3月8日 - 15:53 に投稿

前提条件

はじめに

Auth0には「Auth0 Account Link」という、1ユーザーに対して複数のアカウントを連携できる拡張機能が存在してます。
本記事では「Auth0 Account Link」の設定方法とユーザーに連携したアカウントの解除方法を紹介します。

Auth0 Account Linkの設定方法

ここでは「Auth0 Account Link」の設定方法について解説します。
「Auth0 Account Link」はAuth0の拡張機能の1つで、設定方法は以下になります。

  1. 1.Auth0ダッシュボードから「Extensions」を選択し、「Auth0 Account Link」をクリック

  1. 2.画像のような画面が表示されるため、「install」をクリック

  1. 3.Installed Extensionsタブに「Auth0 Account Link」が追加されていることを確認し、選択

  1. 4.認証画面が表示されるため「許可」をクリック

  1. 5.設定画面が表示されるため「title」を入力し、「SAVE CHAGES」をクリック

  1. 6.アプリ側のログイン画面にて、「Auth0に既に登録済みのユーザー」と「同じメールアドレスで登録している他社アカウント」でログイン
    • 今回は「メールアドレス/パスワード」で登録しているユーザーと「同じメールアドレスのGoogleアカウント」を連携
      • 登録済みユーザー
        • メールアドレス : sample@gmail.com
        • パスワード : *******
      • 連携するアカウント
        • サービス : Googleアカウント
        • メールアドレス : sample@gmail.com


  1. 7.画像のような画面が表示されるため、「続ける」をクリック

  1. 8.メールアドレスとパスワードの入力を求めらるため、入力後に正常にログインできることを確認

  1. 9.Auth0ダッシュボードから該当のユーザーを確認し、「Accounts Associated」が追加されている事を確認

連携済みアカウントの解除方法

ここでは「Auth0 Account Link」で連携したアカウントを解除する方法を解説します。
連携したアカウントを解除するにはAPIを利用する必要があり、手順は以下になります。
※解除したアカウントでログインをしようとした場合、「Auth0 Account Link設定手順」の手順7以降と同様の手順になります。

  1. 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/'
  1. 2.Auth0ダッシュボードから該当ユーザの情報を取得
    • user_id : ユーザーのID
    • provider : 連携されているアカウントのProvider
    • user_id : 連携されているアカウントのID

  1. 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
  1. 5.該当のユーザーを確認し、「Accounts Associated」が解除されている事を確認

終わりに

本記事ではAuth0で1ユーザーに対し、複数のアカウントを連携する方法とその解除方法を紹介しました。
今回紹介したアカウント連携に関する公式ドキュメントは以下になります。 Link User Accounts Unlink User Accounts

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。
画像
Extensions
install
Auth0 Account Link
app
setting
next
login
user1
Identity
user2