質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenID

OpenIDは、様々なWebサイトで 1つのID情報のみで認証が可能にするサービスです。

OpenID Connect

OpenID Connectは、 様々なWebサイトや、 モバイルアプリなどを利用する際に一つのID情報のみで 認証を実現できるようにするID連携の仕組みです。

Q&A

解決済

1回答

2437閲覧

OpenID Connectの「IDトークン」の使い道について

tyaunuakkia

総合スコア5

OpenID

OpenIDは、様々なWebサイトで 1つのID情報のみで認証が可能にするサービスです。

OpenID Connect

OpenID Connectは、 様々なWebサイトや、 モバイルアプリなどを利用する際に一つのID情報のみで 認証を実現できるようにするID連携の仕組みです。

0グッド

0クリップ

投稿2020/10/28 07:46

編集2020/10/28 07:50

質問内容

OpenID Connectの「IDトークン」について、発行方法や検証方法は調べて分かったのですが、利用方法が分からないため、これについてお伺いしたいです。

調査した事

3つのエンドポイント

3つのエンドポイントが存在し、それぞれ以下の役割をしています。
(インプリシットフローなどいくつか認証フローがありますが、ここでは以下のみ説明します。)

  • 【認可エンドポイント】:RPから認証リクエストを受け、認可コードを返却する
  • 【トークンエンドポイント】:RPから認可コード&属性情報を受け、IDトークン&アクセストークンを返却する
  • 【ユーザ情報エンドポイント】:RPからユーザ情報取得リクエストを受け、ユーザ情報を返却する

IDトークンの検証

3つのエンドポイントから取得した情報により、RPサーバには以下の情報が存在します。

  • IDトークン
  • アクセストークン
  • ユーザ情報

このうち「IDトークン」についてはRPサーバ側で検証をする必要があります。
(検証方法については今回関係ないので割愛します)

いざログイン

例えば、AさんがGoogleアカウントを使ってTeratailにログインしたい場合で考えます。

  1. AさんがTeratailのログイン画面から「Googleでログイン」を押下
  2. Googleの認証画面が表示されるため、ID/PWを入力
  3. リダイレクト画面が表示される(画面上は何も表示されない)
  4. Teratailのトップ画面に遷移する

この時の動きとして、**「2で認証成功した後、TeratailにAさんのユーザ情報が返却され、Teratailは自身のDBからAさんのユーザ情報を取得し、ユーザ情報が存在すれば認証OKとする」**という動きになると推測しているのですが、合っていますでしょうか?

そうなるとIDトークンはいざログインする際には使わない事になるため、検証後に捨てる事になるかと思うのですが合っていますでしょうか?

参考文献

Authleteで提供されているシーケンス図
https://www.authlete.com/resources/templates/sequence-diagrams/

TakahikoKawasakiさんのQiita記事
https://qiita.com/TakahikoKawasaki

IPAのアクセス制御についての文書
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/104.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決し、Qiitaに投稿しました。
https://qiita.com/tyaunuakkia/items/0f6981869231a79516f5

投稿2020/10/30 03:08

tyaunuakkia

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問