Implicit フロー
ここでは認証フロー部分のみを記載します。ソーシャルログインの認証フローを含む全体の実装イメージは別ページに記載しています。
Implicit フローで取得した ID Token はご利用サービス側のクライアントサイドで利用することを想定しています。このフローでは Access Token の取得はできません。Access Token が必要な場合は Hybrid フロー の利用をご検討ください。
大きく分けて以下の処理を含みます。
- ユーザー認証リクエスト
- ID Token の検証
シーケンス
1. ユーザー認証リクエスト
Authorization エンドポイント にリクエストして認可コードを取得します。
- ご利用サービス側サーバは、各ログインプロバイダを経由してユーザーの認可を得るため、ユーザーを Authorization エンドポイント へリダイレクトさせる
- 個人情報の取得が必要な場合は、
scope
パラメータに取得したい個人情報に対応した値を追加します。 - 個人情報の取得に加えて、取得した個人情報をソーシャルPLUS 側のユーザーデータとして保持したい場合は、ソーシャルログインマネージャーの 個人情報保管設定 が必要です。
- 個人情報の取得が必要な場合は、
- ログインプロバイダ側の認証を経て、ユーザー識別子と個人情報にアクセスするための認可(同意)を得る
- ソーシャルPLUS 側のユーザー認証(ソーシャルPLUS ID の発行または特定)が行われ、発行された認可コードとリクエスト時に指定された
state
をご利用サービス側クライアントに渡す - ご利用サービス側サーバは認可要求時に送信した
state
と返されたstate
が同一かどうか確認する
2. ID Token の検証
Cert エンドポイント にリクエストして ID Token の検証に必要な公開鍵を取得し、ID Token を検証 します。
ID Token のペイロードから、ソーシャルPLUS ID やお客様サイト側ユーザID、許可された個人情報を得ることができます。