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

Authorization Code フロー

ここでは認証フロー部分のみを記載します。ソーシャルログインの認証フローを含む全体の実装イメージは別ページに記載しています。

大きく分けて以下の処理を含みます。

  1. ユーザー認証リクエスト
  2. トークンの取得(Access Token と ID Token の取得)
  3. ID Token の検証
  4. Web API アクセス

シーケンス

1. ユーザー認証リクエスト

Authorization エンドポイント にリクエストして認可コードを取得します。

  1. ご利用サービス側サーバは、各ログインプロバイダを経由してユーザーの認可を得るため、ユーザーを Authorization エンドポイント へリダイレクトさせる
    • 個人情報の取得が必要な場合は、scope パラメータに取得したい個人情報に対応した値を追加します。
    • 個人情報の取得に加えて、取得した個人情報をソーシャルPLUS 側のユーザーデータとして保持したい場合は、ソーシャルログインマネージャーの 個人情報保管設定 が必要です。
  2. ログインプロバイダ側の認証を経て、ユーザー識別子と個人情報にアクセスするための認可(同意)を得る
  3. ソーシャルPLUS 側のユーザー認証(ソーシャルPLUS ID の発行または特定)が行われ、発行された認可コードとリクエスト時に指定された state をご利用サービス側サーバに渡す
  4. ご利用サービス側サーバは認可要求時に送信した state と返された state が同一かどうか確認する

2. トークンの取得(Access Token と ID Token の取得)

Token エンドポイント にリクエストして Access Token と ID Token を発行します。

Token エンドポイントの利用には、サービス登録時に発行されたクライアント情報 が必要です。

Access Token の有効期限

ソーシャルPLUS の認可フローで発行される Access Token の有効期限は 60分です。
Refresh Token の発行はありません。

3. ID Token の検証

Cert エンドポイント にリクエストして ID Token の検証に必要な公開鍵を取得し、ID Token を検証 します。

ID Token のペイロードから、ソーシャルPLUS ID やお客様サイト側ユーザID、許可された個人情報を得ることができます。

4. Web API アクセス

取得した Access Token を用いて Userinfo エンドポイント にリクエストすることで、ユーザーへの再認可を経ずにユーザー識別子(ソーシャルPLUS ID, お客様サイト側ユーザID)を得ることができます。

また、取得済みのソーシャルPLUS ID や、紐付け済みのお客様サイト側ユーザID を用いてその他の Web API を利用できます。