メインコンテンツまでスキップ

連携追加

マイページなどからソーシャルログインの「連携追加」を行う実装イメージを例示します。

警告

会員登録やマイページへのログインがある汎用的なサービスでのご利用イメージです。 ご利用サービスの状況に合わせて適宜読み替えてご利用ください。

画面遷移

シーケンス

下図の赤枠部分は、導入に際してお客様システム側でサーバサイド実装が必要な箇所となります。

処理概要

a. すべて未連携の状態からの連携追加

ソーシャルログインを経て「ソーシャルPLUS ID」を特定(⑬, ⑭)した状態で、ログイン中のユーザの「お客様サービス側ユーザID」を紐付け(⑮, ⑯)ます。

注記

ご利用サービス側の会員登録処理を経由しないことを除き 新規登録時 と同じ処理になります。

b. 1つ以上の連携がある状態からの連携追加

ソーシャルログインを経て「ソーシャルPLUS ID」を特定(⑬, ⑭)します。すでに「お客様サービス側ユーザID」を紐付け済みの「ソーシャルPLUS ID」とは 別の「ソーシャルPLUS ID」 が応答されますので、この 2 つの「ソーシャルPLUS ID」を統合(⑰, ⑱)します。

ログインプロバイダ A が連携済みのところに、ログインプロバイダ B で連携追加を行う場合は以下のようになります。

  • ログインプロバイダ A でソーシャルログインを行って発行された「ソーシャルPLUS ID (a)」
    • 「お客様サービス側ユーザID」を紐付け済み
  • ログインプロバイダ B でソーシャルログインを行って新たに発行された「ソーシャルPLUS ID (b)」
  • 「ソーシャルPLUS ID (a)」に「ソーシャルPLUS ID (b)」を統合する
ヒント

ソーシャルPLUS ユーザの統合(merge_user API) には「お客様サービス側ユーザID」を指定できます。つまり、統合して残したいユーザ (a) を「お客様サービス側ユーザID」dest_primary_key で指定し、連携追加したいユーザ (b) を「ソーシャルPLUS ID」source_identifier で指定します。

バリデーションチェック

ソーシャルログインで特定した「ソーシャルPLUS ID」に対して、紐付け済みの(別のユーザの)「お客様サービス側ユーザID」がある場合は連携追加を失敗させます。

一般的には "別のアカウントと連携されています" といったエラーメッセージを返してマイページに戻します。あるいは、"一度ログアウトしてソーシャルログインによるログインを行う" よう誘導します。

ヒント

認証対象のソーシャルPLUS ID の取得(authenticated_user API) の応答値に「ソーシャルPLUS ID」identifier とともに「お客様サービス側ユーザID」primary_key の値(文字列)が返されます。

「お客様サービス側ユーザID」primary_key が紐付けられていない場合は値が null として返ります。

関連ドキュメント