SlideShare a Scribd company logo
Enviar pesquisa
Carregar
OIDC(OpenID Connect)について解説③
Denunciar
Compartilhar
iPride Co., Ltd.
iPride Co., Ltd.
Seguir
•
0 gostou
•
33 visualizações
1
de
25
OIDC(OpenID Connect)について解説③
•
0 gostou
•
33 visualizações
Denunciar
Compartilhar
Baixar agora
Baixar para ler offline
Tecnologia
2023/06/03の勉強会で発表されたものです。
Leia mais
iPride Co., Ltd.
iPride Co., Ltd.
Seguir
Recomendados
OIDC(OpenID Connect)について解説① por
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.
49 visualizações
•
12 slides
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション por
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
Tatsuo Kudo
3.6K visualizações
•
40 slides
The Latest Specs of OpenID Connect at #idcon 9 por
The Latest Specs of OpenID Connect at #idcon 9
Ryo Ito
1.7K visualizações
•
46 slides
OCHaCafe#5 - 避けては通れない!認証・認可 por
OCHaCafe#5 - 避けては通れない!認証・認可
オラクルエンジニア通信
3.2K visualizações
•
34 slides
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api por
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Tatsuo Kudo
3.1K visualizações
•
25 slides
OAuth 2.0の概要とセキュリティ por
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
18.8K visualizações
•
35 slides
Mais conteúdo relacionado
Similar a OIDC(OpenID Connect)について解説③
0905xx Hybrid Memo por
0905xx Hybrid Memo
Ryo Ito
993 visualizações
•
36 slides
OpenID Connect入門 por
OpenID Connect入門
土岐 孝平
2K visualizações
•
65 slides
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat... por
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Tatsuo Kudo
8.6K visualizações
•
133 slides
KeycloakでAPI認可に入門する por
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
3.6K visualizações
•
49 slides
英国オープンバンキング技術仕様の概要 por
英国オープンバンキング技術仕様の概要
Tatsuo Kudo
2.5K visualizações
•
54 slides
100121 Scis2010 Itoh por
100121 Scis2010 Itoh
Hiroki Itoh
1.1K visualizações
•
30 slides
Similar a OIDC(OpenID Connect)について解説③
(20)
0905xx Hybrid Memo por Ryo Ito
0905xx Hybrid Memo
Ryo Ito
•
993 visualizações
OpenID Connect入門 por 土岐 孝平
OpenID Connect入門
土岐 孝平
•
2K visualizações
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat... por Tatsuo Kudo
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Tatsuo Kudo
•
8.6K visualizações
KeycloakでAPI認可に入門する por Hitachi, Ltd. OSS Solution Center.
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
•
3.6K visualizações
英国オープンバンキング技術仕様の概要 por Tatsuo Kudo
英国オープンバンキング技術仕様の概要
Tatsuo Kudo
•
2.5K visualizações
100121 Scis2010 Itoh por Hiroki Itoh
100121 Scis2010 Itoh
Hiroki Itoh
•
1.1K visualizações
091009 Identity Conference #6 ritou por Ryo Ito
091009 Identity Conference #6 ritou
Ryo Ito
•
1.2K visualizações
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細 por オラクルエンジニア通信
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
オラクルエンジニア通信
•
620 visualizações
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15 por OpenID Foundation Japan
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
OpenID Foundation Japan
•
1.2K visualizações
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth... por Tatsuo Kudo
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
Tatsuo Kudo
•
6.6K visualizações
Chrome ExtensionでSelf-Issued OpenID Provider por Takeru Ujinawa
Chrome ExtensionでSelf-Issued OpenID Provider
Takeru Ujinawa
•
614 visualizações
How FIDO Works por Keiko Itakura
How FIDO Works
Keiko Itakura
•
89 visualizações
OAuth2.0によるWeb APIの保護 por Naohiro Fujie
OAuth2.0によるWeb APIの保護
Naohiro Fujie
•
13.7K visualizações
金融向けoへの認証の導入 por FIDO Alliance
金融向けoへの認証の導入
FIDO Alliance
•
2.3K visualizações
TwitterのOAuthってなんぞ? por deflis
TwitterのOAuthってなんぞ?
deflis
•
581 visualizações
FIDO2 ~ パスワードのいらない世界へ por FIDO Alliance
FIDO2 ~ パスワードのいらない世界へ
FIDO Alliance
•
9.4K visualizações
FAPI and Beyond: From an specification author's point of view #fapisum - Japa... por FinTechLabs.io
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FinTechLabs.io
•
3.1K visualizações
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone por junichi anno
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
junichi anno
•
1.4K visualizações
Modular API Client por naoty_bot
Modular API Client
naoty_bot
•
164 visualizações
FAPI Security について聞いてきた話(2017/08/18 社内勉強会) por Yoko TAMADA
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
Yoko TAMADA
•
613 visualizações
Mais de iPride Co., Ltd.
画像生成AIの問題点 por
画像生成AIの問題点
iPride Co., Ltd.
138 visualizações
•
9 slides
AI入門 por
AI入門
iPride Co., Ltd.
191 visualizações
•
99 slides
MVCになぞらえて理解するReact por
MVCになぞらえて理解するReact
iPride Co., Ltd.
220 visualizações
•
19 slides
AIについて学んだこと ~ 生成AIとは? ~ por
AIについて学んだこと ~ 生成AIとは? ~
iPride Co., Ltd.
85 visualizações
•
32 slides
OAuth2.0について por
OAuth2.0について
iPride Co., Ltd.
33 visualizações
•
18 slides
ゼロトラストについて学んだこと por
ゼロトラストについて学んだこと
iPride Co., Ltd.
23 visualizações
•
23 slides
Mais de iPride Co., Ltd.
(20)
画像生成AIの問題点 por iPride Co., Ltd.
画像生成AIの問題点
iPride Co., Ltd.
•
138 visualizações
AI入門 por iPride Co., Ltd.
AI入門
iPride Co., Ltd.
•
191 visualizações
MVCになぞらえて理解するReact por iPride Co., Ltd.
MVCになぞらえて理解するReact
iPride Co., Ltd.
•
220 visualizações
AIについて学んだこと ~ 生成AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ 生成AIとは? ~
iPride Co., Ltd.
•
85 visualizações
OAuth2.0について por iPride Co., Ltd.
OAuth2.0について
iPride Co., Ltd.
•
33 visualizações
ゼロトラストについて学んだこと por iPride Co., Ltd.
ゼロトラストについて学んだこと
iPride Co., Ltd.
•
23 visualizações
Recoilライブラリを 触ってみる por iPride Co., Ltd.
Recoilライブラリを 触ってみる
iPride Co., Ltd.
•
27 visualizações
ReactでuseEffect()を減らしたい話 por iPride Co., Ltd.
ReactでuseEffect()を減らしたい話
iPride Co., Ltd.
•
83 visualizações
AIについて学んだこと ~ AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ AIとは? ~
iPride Co., Ltd.
•
21 visualizações
単一責任の原則について por iPride Co., Ltd.
単一責任の原則について
iPride Co., Ltd.
•
24 visualizações
オブジェクト指向 por iPride Co., Ltd.
オブジェクト指向
iPride Co., Ltd.
•
21 visualizações
JavaScriptで「キャピタライズ」を 実装してみる por iPride Co., Ltd.
JavaScriptで「キャピタライズ」を 実装してみる
iPride Co., Ltd.
•
26 visualizações
Pythonで学ぶ数理計画法の初歩 por iPride Co., Ltd.
Pythonで学ぶ数理計画法の初歩
iPride Co., Ltd.
•
22 visualizações
DrupalをDockerで起動してみる por iPride Co., Ltd.
DrupalをDockerで起動してみる
iPride Co., Ltd.
•
50 visualizações
HTTPの仕組みについて por iPride Co., Ltd.
HTTPの仕組みについて
iPride Co., Ltd.
•
29 visualizações
通信プロトコルについて por iPride Co., Ltd.
通信プロトコルについて
iPride Co., Ltd.
•
16 visualizações
SpringBootにおけるテンプレートエンジンの活用 por iPride Co., Ltd.
SpringBootにおけるテンプレートエンジンの活用
iPride Co., Ltd.
•
174 visualizações
Java研修 por iPride Co., Ltd.
Java研修
iPride Co., Ltd.
•
21 visualizações
SpringBootの研修本で学んだこと por iPride Co., Ltd.
SpringBootの研修本で学んだこと
iPride Co., Ltd.
•
50 visualizações
画像生成AI stable diffusionの紹介2 por iPride Co., Ltd.
画像生成AI stable diffusionの紹介2
iPride Co., Ltd.
•
112 visualizações
Último
SNMPセキュリティ超入門 por
SNMPセキュリティ超入門
mkoda
479 visualizações
•
15 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) por
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
32 visualizações
•
38 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PC Cluster Consortium
66 visualizações
•
12 slides
定例会スライド_キャチs 公開用.pdf por
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
135 visualizações
•
64 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 por
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PC Cluster Consortium
27 visualizações
•
36 slides
The Things Stack説明資料 by The Things Industries por
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.
78 visualizações
•
29 slides
Último
(12)
SNMPセキュリティ超入門 por mkoda
SNMPセキュリティ超入門
mkoda
•
479 visualizações
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) por NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
•
32 visualizações
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PC Cluster Consortium
•
66 visualizações
定例会スライド_キャチs 公開用.pdf por Keio Robotics Association
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association
•
135 visualizações
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 por PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PC Cluster Consortium
•
27 visualizações
The Things Stack説明資料 by The Things Industries por CRI Japan, Inc.
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.
•
78 visualizações
光コラボは契約してはいけない por Takuya Matsunaga
光コラボは契約してはいけない
Takuya Matsunaga
•
27 visualizações
IPsec VPNとSSL-VPNの違い por 富士通クラウドテクノロジーズ株式会社
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
•
590 visualizações
Windows 11 information that can be used at the development site por Atomu Hidaka
Windows 11 information that can be used at the development site
Atomu Hidaka
•
90 visualizações
SSH応用編_20231129.pdf por icebreaker4
SSH応用編_20231129.pdf
icebreaker4
•
405 visualizações
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 por Hitachi, Ltd. OSS Solution Center.
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Hitachi, Ltd. OSS Solution Center.
•
101 visualizações
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... por NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
•
158 visualizações
OIDC(OpenID Connect)について解説③
1.
OIDC (OpenID Connect) について解説③ 発表者:トビウオ
2.
目次 • OIDC (OpenID
Connect) の利点 • OIDCの通信手順 • HTTP通信、curlコマンドについておさらい • OIDC クライアントの処理 (curl編)
3.
OIDCがないとき ユーザー 1. ログイン操作 クライアント 4. サービス提供 ユーザー情報を持つサーバー 2.
ユーザー認証処理 3. ユーザー情報 を返す クライアントが自前 でユーザー認証処理 を行う必要がある OIDCがないときの処理 画像出典:各公式サイト、いらすとや
4.
ユーザー OIDCがあるときの処理 画像出典:各公式サイト、いらすとや 1. ログイン操作 クライアント 4. サービス提供 認可サーバー・リソースサーバ ー 2.
ユーザー認証 処理を委譲 3. ユーザー情報 を返す クライアントはユー ザー認証処理を他に 任せられる OIDCがあるとき
5.
ここでのポイント • 認証する部分、認証してユーザーデータを持っ てくる部分を、OIDCのサーバーが代わりにやっ てくれる • クライアントからすると「IDとパスワードの入 力フォーム」すら実装しなくていい
6.
ユーザー 認可サーバー 2. 認可リクエス ト 認可コードフローの仕組み 画像出典:各公式サイト、いらすとや 1. サービス提携 を許可する 3.
ログイン画面 にリダイレクト クライアント ログイン画面 4. ログイン操作 5. 認証情報を送る 6. 認可 トークンを送る OIDCの通信手順
7.
ユーザー 認可サーバー 7. 認可トークン を元にアクセス トークンを要求 11. アクセストークンの 正当性を返答 クライアント リソースサーバー 10.
アクセストークンの検証を要 求 8. アクセス トークンを送る 9. アクセストークンを 元にリソースを要求 12. リソース を返す 13. サービスを提供 OIDCの通信手順
8.
• クライアントが行う操作は次の3つ • 認可リクエストを行い認可トークンを入手 •
認可トークンを元にアクセストークンを要求 • アクセストークンを元にリソースを要求 ここでのポイント
9.
• ユーザーが行う操作は次の3つ • 認可リクエストを行い認可トークンを入手 •
認可トークンを元にアクセストークンを要求 • アクセストークンを元にリソースを要求 ここでのポイント curlで操作するところ Webブラウザで 操作するところ
10.
HTTPとは? Webクライアン ト Webサーバー 2. HTTPレスポンスを返す 1. HTTPリクエストを送る •
図にするとこんな感じ • 一種のキャッチボール
11.
HTTPとは? Webクライアン ト Webサーバー 2. HTTPレスポンスを返す ・HTTPレスポンスコード ・レスポンスヘッダー ・レスポンスボディ 1. HTTPリクエストを送る ・HTTPメソッドの種類 ・URL
(GETパラメーター含む) ・リクエストヘッダー ・リクエストボディ
12.
ここでのポイント • リクエスト1回にレスポンス1回が対応する • ヘッダーなどに様々な情報を載せられる •
「HTTPメソッド」=どの種類の通信をするか
13.
curlとは? • cURLと書くこともある • HTTP通信などをターミナル上で送信できる標準 的なツール •
先ほどのスクショもcurlコマンドの結果をコピペ したもの
14.
curlとは? # もっとも基本的なHTTPリクエスト (www.example.comにGETリクエスト) curl
www.example.com # -Xオプションで、GET以外のHTTPメソッドを使用できる curl -X PUT www.example.com/login # -Hオプションで、好きなHTTPヘッダーを追加できる curl -H “Authorization: Bearer xxx-yyy-zzz” www.example.com/sample # -dオプションで、リクエストボディに入れて送る情報を指定できる curl -d “first-name=hitori“ -d “last-name=goto” www.example.com/users/add
15.
• サンプルとなる接続先の情報 項目名 内容 認可/リソースサーバー
Keycloak, 18080ポート レルム myrealm クライアントID sample-client コールバックURL http://loocalhost:8080/* クライアント シークレット client-password curlによるOIDC
16.
curlによるOIDC • 通信の流れを確認するため、curlコマンドを使う • まずは次のURLにアクセスする http://localhost:18080/realms/sample-realm/protocol/openid- connect/auth ?response_type=code &client_id=sample-client &redirect_uri=http://localhost:8080/oidc &scope=openid%20profile%20email
17.
curlによるOIDC http://localhost:18080/realms/sample-realm/protocol/openid- connect/auth ?response_type=code &client_id=sample-client &redirect_uri=http://localhost:8080/oidc &scope=openid%20profile%20email • GETパラメーターが長いので改行した • %20は「半角空白」という意味 •
通信に必要な情報を渡していることが分かる
18.
curlによるOIDC • URLが示す先のWeb ページに行くと、認 可サーバーにおける ログイン画面が表示 される
19.
curlによるOIDC • ログインに成功すると、リダイレクト先に指定 したURLに遷移する。正確なURLはこんな感じ • リダイレクト先のWebページにJavaScriptを設定 していれば、これらの情報が読み取れる http://localhost:8080/oidc ?session_state=<セッション(接続状態)を表す文字列> &code=<認可トークンを示す長い文字列>
20.
curlによるOIDC • 先ほどの情報から、アクセストークンを要求す るリクエストをPOSTで送信する curl -d
“grant_type=authorization_code &code=<認可トークンを示す長い文字列> &redirect_uri=http://localhost:8080/oidc &client_id=sample-client &client_secret=<クライアントシークレットの文字列>" http://localhost:18080/realms/sample-realm/protocol/openid- connect/token
21.
curlによるOIDC curl -d “grant_type=authorization_code &code=<認可トークンを示す長い文字列> &redirect_uri=http://localhost:8080/oidc &client_id=sample-client &client_secret=<クライアントシークレットの文字列>" http://localhost:18080/realms/sample-realm/protocol/openid- connect/token •
redirect_uriは先ほどと同じ意味 • 通信に必要な情報を渡していることが分かる
22.
curlによるOIDC • 要求に成功すると、 アクセストークンな どがJSON形式で送 り返されてくる (長 文注意) { “access_token":<アクセストークン>, “expires_in":300, “refresh_expires_in":1800, “refresh_token":<リフレッシュトークン>, “token_type":"Bearer", “id_token":<IDトークン>, “not-before-policy”:0, “session_state":<セッションの状態>, "scope":"openid
email profile” }
23.
OIDCクライアントの実装 • それぞれの意味はこんな感じ (主要なもののみ) { “access_token":<アクセストークン>, “expires_in":アクセストークンの有効期限, “refresh_expires_in":リフレッシュトークンの有効期限, “refresh_token":アクセストーク更新用のトークン, “session_state":<セッションの状態>, "scope":どの情報を取得できるかを表す }
24.
OIDCクライアントの実装 • 先ほどの情報から、リソースを要求するリクエ ストをPOSTで送信する curl -H
"Authorization: Bearer <アクセストークン>” http://localhost:18080/realms/sample-realm/protocol/openid- connect/userinfo
25.
curlによるOIDC • 要求に成功すると、 各種リソースが JSON形式で送り返 されてくる { "sub":"089021d2-2988-48b7-81de- bd20d86a61eb", "email_verified":false, "name":"John Smith", "preferred_username":"user1", "given_name":"John", "family_name":"Smith", "email":"john-smith@example.com" }