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

Authorization Code フロー

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

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 を利用できます。