SlideShare a Scribd company logo
The Latest Specs of
 OpenID Connect

          @ritou
         2011/7/8
 Identity Conference #9
@ritou

• 秋田県在住
• 去年まで某ポータルサイトのログイン担当

•http://d.hatena.ne.jp/ritou
• OpenID Connect WG Contributer




                                  2
はじめに

• 情報漏えい騒ぎ
 – いまさらPWの使いまわしのリスクに注目
   • いまこそOpenID/OAuthの出番?
• OpenID / OAuth へのネガティブな影響
 – あるOPのパスワードが漏れたらRP/Clientまで
   全部やられるね → orz
 今こそ安全なAuthN/Zのしくみを提供してア
 ピールすべき!

                                3
OpenIDとOAuth

• OpenID Auth 2.0           • OAuth 1.0a


       • OpenID OAuth Extension

• OpenID v.Next             • OAuth WRAP
  – Artifact Binding (for   • OAuth 2.0
    Mobile etc...)

           • OpenID Connect
                                           4
OpenID Connect

• Authorization : OAuth 2.0 Base
• Authentication
• Attribute transmission
  – UserInfo Endpoint
• Discovery
  – JSON Based
• Dynamic Client Registration
• Session Management
  – Refresh/Check/Logout           5
Latest Specs

• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          6
Latest Specs

• Core
  – http://openid.net/specs/openid-connect-core-1_0.html
• Framework
  – http://openid.net/specs/openid-connect-framework-
    1_0.html
• Discovery
  – http://openid.net/specs/openid-connect-discovery-
    1_0.html
• HTTP Redirect Binding
  – http://openid.net/specs/openid-connect-http-redirect-
                                                            7
    1_0.html
Latest Specs

• Session Management
  – http://openid.net/specs/openid-connect-session-
    1_0.html
• Dynamic Client Registration
  – http://openid.net/specs/openid-connect-registration-
    1_0.html
• UserInfo
  – http://openid.net/specs/openid-connect-userinfo-
    1_0.html


                                                           8
Latest Specs

• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          9
Latest Specs

• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          10
GET /.well-known/simple-web-discovery




                       OpenID Connect Discovery

      • Endpoint,メタデータをDiscoveryするしくみ
            – Endpoints
            – サポートしているFlow,Identifierの種類など
      • HTTPS + GETでDiscovery用エンドポイントに
        アクセス
      • レスポンスフォーマットはJSONオブジェクト
            – XRDよりも簡単!?


                                                  11
GET /.well-known/simple-web-discovery




       OpenID Connect Simple Web Discovery

      • Discoveryに利用できるIdentifierは3種類
            – Hostname
            – Email
            – URL
      • OpenID Connectの最初の利用例
            – Emailアドレスを入力(≒WebFinger)
            – OP Identifierを入力(≒OpenID Auth 2.0)
            – OpenID URLを入力(≒OpenID Auth 1.1)

                                                   12
GET /.well-known/simple-web-discovery




       OpenID Connect Simple Web Discovery
      • Request
          GET
          /.well-known/simple-web-discovery?
          principal= joe@example.com&
          service=http://openid.net/specs/connect/1.0/issuer
          HTTP/1.1
          Host: example.com




                                                               13
GET /.well-known/simple-web-discovery




       OpenID Connect Simple Web Discovery
      • Response
        HTTP/1.1 200 O.K.
        Content-Type: application/json
        { "locations":
             ["https://example.com/auth"]
        }

          別のURLへのリダイレクト指定も可能


                                            14
Latest Specs

• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          15
OpenID Connect
      Dynamic Client Registration
• DiscoveryによりRegistration Endpointを
  取得
• Registration EndpointにClient登録/更新
  のリクエストを送る




                                       16
OpenID Connect
        Dynamic Client Registration
• Request (HTTP POST, JSONオブジェクト)
 –   type : “client_associate”/“client_update”
 –   client_id
 –   client_secret
 –   contact : email list
 –   application_type, application_name
 –   logo_url, redirect_url, js_origin_url, jwk_url
 –   sector_identifier
@_nat JWTではないのでしょうか?
                                                  17
OpenID Connect
       Dynamic Client Registration
• Response (JSON object)
  – client_id
  – client_secret
  – expires_in




                                     18
Latest Specs

• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          19
HTTP Redirect Binding

• OAuth 2.0のFlowにOpenID Connectの
  Request/Responseパラメータを加える方法




                               20
Protocol Flows

• Authorization Code Flow
   – ClientがWeb Serverとして動作
• Implicit Flow
   – ClientがJavaScript, Flashなどで動作




                                     21
Protocol Flows

• Authorization Code Flow
   – ClientがWeb Serverとして動作
• Implicit Flow
   – ClientがJavaScript, Flashなどで動作




                                     22
Authorization Code Flow

End User             Client               AuthZ      Resource
    0. Clientにサービス要求                      Server      Server

                         1. Request準備
    2. AuthZ ServerにRequestを送信

                     3. Authentication
                     4. Consent/Authorization
    5. AuthZ CodeとともにUserを戻す

                         6. Assertion要求

                         7. Assertion応答
                         8. UserInfo Endpointにアクセス

                                                            23
                         9. 属性情報など応答
Authorization Code Flow

End User             Client               AuthZ      Resource
    0. Clientにサービス要求                      Server      Server

                         1. Request準備
    2. AuthZ ServerにRequestを送信

                     3. Authentication
                     4. Consent/Authorization
    5. AuthZ CodeとともにUserを戻す

                         6. Assertion要求

                         7. Assertion応答
                         8. UserInfo Endpointにアクセス

                                                            24
                         9. 属性情報など応答
Requestの送り方は3種類

• Query Parameters Method
  – クエリパラメータにそのまま含む
• Request Parameter Method
  – OpenID Connect RequestをToken(文字列)
    にしてrequestパラメータとして指定
    • UserInfo/Session Management関連
• Request File Method
  – JSONオブジェクトを返すURLを用意して、その
    URLをパラメータに含む
                                      25
Query Parameters Method

https://server.com/op/authorize?
response_type=token
&client_id=s6BhdRkqt3
&redirect_uri=https%3A%2F%2Fclient%2Eexample%2E
com%2Fcb
&scope=openid
&state=af0ifjsldkj



                                              26
Request Parameter Method

https://server.com/op/authorize?
response_type=code
&client_id=s6BhdRkqt3
&redirect_uri=https%3A%2F%2Fclient%2Eexample%2E
com%2Fcb
&scope=openid
&state=af0ifjsldkj
&request=jwt_header.jwt_payload.jwt_crypto


                                              27
request パラメータ

• OpenID Connect リクエスト
 – 下記機能についてのリクエスト
   • UserInfo : 必要なクレーム、フォーマット
   • Session Management : ID Tokenに含むクレーム、
     PAPE関連のパラメータなど
• JSONオブジェクトを文字列として表現
 – “jwt_header.jwt_payload.jwt_crypto”
   • jwt_header : メタデータをBase64URLEnc
   • jwt_payload : JSONオブジェクトをBase64URLEnc
   • jwt_crypto : Signatureなど
                                         28
Request File Method

• JSON オブジェクトを返すRequest URLを作
  成
https://rp.example.com/rf.js
{
    "response_type": "code",
    "client_id": "s6BhdRkqt3",
    "redirect_uri":
    "https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb",
    "scope": "openid",
    "state": "af0ifjsldkj“
                                               29
}
Request File Method

https://server.com/op/authorize?
response_type=code
&client_id=s6BhdRkqt3
&state=af0ifjsldkj
&request_uri=https://rp.example.com/rf.js

モバイルでも使えるように512byteを超えてはいけない!



                                            30
Authorization Code Flow

End User             Client               AuthZ           Resource
    0. Clientにサービス要求                      Server           Server

                         1. Request準備
    2. AuthZ ServerにRequestを送信

                                              2.5. Request File 取得
                     3. Authentication
                     4. Consent/Authorization
    5. AuthZ CodeとともにUserを戻す

                         6. Assertion要求

                         7. Assertion応答
                         8. UserInfo Endpointにアクセス
                                                                     31

                         9. 属性情報など応答
Latest Specs

• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          32
OpenID Connect Framework

• OAuth 2.0 に追加される OpenID
  Connect独自リクエスト/レスポンス
• UserInfo エンドポイントで返されるClaim
• その他...




                               33
OpenID Request Object

• OpenID Connect リクエスト
 – 下記機能についてのリクエスト
   • UserInfo : 必要なクレーム、フォーマット
   • Session Management : ID Tokenに含むクレーム、
     PAPE関連のパラメータなど
• JSONオブジェクトを文字列として表現
 – “jwt_header.jwt_payload.jwt_crypto”
   • jwt_header : メタデータをBase64URLEnc
   • jwt_payload : JSONオブジェクトをBase64URLEnc
   • jwt_crypto : Signatureなど
                                         34
OpenID Request Object
{

"inf":
     {

     "clm":
              {     "name": null, "nickname": {"opt": true},
                    "email": null, "verified": null,
                    "picture": {"opt": true}, },
     "fmt": "sig"
     }

"idt":
     {

              "mxa": 86400,
              "eaa": "2"                                       35

     }
UserInfo Endpoint : Claims

• 下記の3種類のClaimを提供する
 – Normal Claims : OPがAssertしたClaims
 – Aggregated Claims : OPから返されるが、別
   のOPがAssertしたClaims
   • JWT形式
 – Distributed Claims
   • 別のOPのエンドポイントから返されるClaims
   • endpoint, access_token


                                       36
Authorization Code Flow

End User             Client               AuthZ      Resource
    0. Clientにサービス要求                      Server      Server

                         1. Request準備
    2. AuthZ ServerにRequestを送信

                     3. Authentication
                     4. Consent/Authorization
    5. AuthZ CodeとともにUserを戻す

                         6. Assertion要求

                         7. Assertion応答
                         8. UserInfo Endpointにアクセス

                                                            37
                         9. 属性情報など応答
{
    "name": "Jane Doe"
    ...
    "_claim_names": { "birthday": "src1",
                           "eye_color": "src1",
                           "credit_score": "src3" },
    "_claim_sources": {
         "src1": {"JWT":
                  "JWT_hdr.JWT_claims.JWT_crypto"},
         "src3": {"endpoint":
         "https://creditagency.example.com/claimshere",
         "access_token": "ksj3n283dke"} }
}
                                                          38
Latest Specs
• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          39
OpenID Connect UserInfo

• FrameworkにあったNormal Claimsについ
  ての定義
  – Profileデータ
• Request
  – access_token
  – schema : “openid”




                                 40
OpenID Connect UserInfo

• ResponseはJSONオブジェクト or JWT
 – AuthZ Requestの際にJWT形式で指定




                               41
Latest Specs
• Core : Messages, Abstract flow
• Framework : Req/Res formats
• Discovery
• HTTP Redirect Binding : HTTP protocol
  binding
• Session Management
• Dynamic Client Registration
• UserInfo
                                          42
OpenID Connect
           Session Management
• ID Tokenを用いたセッション管理
 – 現在誰がログイン中なのか確認する
 – Client側からログアウトさせる
• ID Token : JWSを用いた署名付きクレーム
 –   issur
 –   client_id
 –   user_id
 –   audience
 –   exp
                                43
OpenID Connect
          Session Management
• Creating Session : ID Token発行
  – Authorization Request
    • Clientはresponse_type に “id_token”を含む
  – Access Token Response
    • AuthZ ServerはAccess Tokenと一緒にid_tokenを
      渡す




                                             44
OpenID Connect
         Session Management
• Session Management Endpoints
  – Refresh Session : expireしたid_tokenの更新
  – Check Session : id_tokenの内容取得
  – End Session : Clientからのログアウト要求




                                            45
最後に
• 仕様は日々更新中
 http://lists.openid.net/mailman/listinfo/ope
   nid-specs-ab




                                                46

More Related Content

What's hot

FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
fisuda
 
FIWARE Context Information Management
FIWARE Context Information ManagementFIWARE Context Information Management
FIWARE Context Information Management
fisuda
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationRyo Ito
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)
fisuda
 
Twitter連携chrome extension作り方
Twitter連携chrome extension作り方Twitter連携chrome extension作り方
Twitter連携chrome extension作り方Hiroshi Oyamada
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)
fisuda
 
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinarsコア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
fisuda
 

What's hot (10)

FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
 
FIWARE Context Information Management
FIWARE Context Information ManagementFIWARE Context Information Management
FIWARE Context Information Management
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC Authentication
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.4.0対応)
 
Twitter連携chrome extension作り方
Twitter連携chrome extension作り方Twitter連携chrome extension作り方
Twitter連携chrome extension作り方
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.15.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 1.13.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 2.4.0対応)
 
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinarsコア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
 

Similar to The Latest Specs of OpenID Connect at #idcon 9

091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritouRyo Ito
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoRyo Ito
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
オラクルエンジニア通信
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Tatsuo Kudo
 
0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid Memo
Ryo Ito
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
Tatsuo Kudo
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FinTechLabs.io
 
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
Shinichiro Takezaki
 
英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要
Tatsuo Kudo
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with Authlete
Tatsuo Kudo
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
Akihiro Kuwano
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
土岐 孝平
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
Takashi Yahata
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
Tatsuo Kudo
 
OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.
 
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Tatsuo Kudo
 
OAuth 2.0 と ライブラリ
OAuth 2.0 と ライブラリOAuth 2.0 と ライブラリ
OAuth 2.0 と ライブラリ
Kenji Otsuka
 
OIDC(OpenID Connect)について解説③
OIDC(OpenID Connect)について解説③OIDC(OpenID Connect)について解説③
OIDC(OpenID Connect)について解説③
iPride Co., Ltd.
 

Similar to The Latest Specs of OpenID Connect at #idcon 9 (20)

091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou091009 Identity Conference #6 ritou
091009 Identity Conference #6 ritou
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_Demo
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
 
0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid Memo
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
 
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
 
英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with Authlete
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
 
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
 
OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①
 
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
 
OAuth 2.0 と ライブラリ
OAuth 2.0 と ライブラリOAuth 2.0 と ライブラリ
OAuth 2.0 と ライブラリ
 
OIDC(OpenID Connect)について解説③
OIDC(OpenID Connect)について解説③OIDC(OpenID Connect)について解説③
OIDC(OpenID Connect)について解説③
 

More from Ryo Ito

安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1
Ryo Ito
 
idcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirectidcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirect
Ryo Ito
 
OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiRyo Ito
 
Idcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF ProtectionIdcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF Protection
Ryo Ito
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectRyo Ito
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いRyo Ito
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth
Ryo Ito
 
Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1
Ryo Ito
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1
Ryo Ito
 
Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1
Ryo Ito
 
BackplaneProtocol超入門
BackplaneProtocol超入門BackplaneProtocol超入門
BackplaneProtocol超入門
Ryo Ito
 
UserManagedAccess_idcon13
UserManagedAccess_idcon13UserManagedAccess_idcon13
UserManagedAccess_idcon13Ryo Ito
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNSRyo Ito
 
Idcon11 implicit demo
Idcon11 implicit demoIdcon11 implicit demo
Idcon11 implicit demo
Ryo Ito
 
OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj
Ryo Ito
 
Ritou idcon7
Ritou idcon7Ritou idcon7
Ritou idcon7Ryo Ito
 
Summary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memoSummary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memo
Ryo Ito
 
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
Ryo Ito
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth Test
Ryo Ito
 

More from Ryo Ito (19)

安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1
 
idcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirectidcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirect
 
OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixi
 
Idcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF ProtectionIdcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF Protection
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID Connect
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth
 
Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1
 
Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1
 
BackplaneProtocol超入門
BackplaneProtocol超入門BackplaneProtocol超入門
BackplaneProtocol超入門
 
UserManagedAccess_idcon13
UserManagedAccess_idcon13UserManagedAccess_idcon13
UserManagedAccess_idcon13
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNS
 
Idcon11 implicit demo
Idcon11 implicit demoIdcon11 implicit demo
Idcon11 implicit demo
 
OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj
 
Ritou idcon7
Ritou idcon7Ritou idcon7
Ritou idcon7
 
Summary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memoSummary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memo
 
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth Test
 

Recently uploaded

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 

Recently uploaded (15)

FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 

The Latest Specs of OpenID Connect at #idcon 9

  • 1. The Latest Specs of OpenID Connect @ritou 2011/7/8 Identity Conference #9
  • 3. はじめに • 情報漏えい騒ぎ – いまさらPWの使いまわしのリスクに注目 • いまこそOpenID/OAuthの出番? • OpenID / OAuth へのネガティブな影響 – あるOPのパスワードが漏れたらRP/Clientまで 全部やられるね → orz 今こそ安全なAuthN/Zのしくみを提供してア ピールすべき! 3
  • 4. OpenIDとOAuth • OpenID Auth 2.0 • OAuth 1.0a • OpenID OAuth Extension • OpenID v.Next • OAuth WRAP – Artifact Binding (for • OAuth 2.0 Mobile etc...) • OpenID Connect 4
  • 5. OpenID Connect • Authorization : OAuth 2.0 Base • Authentication • Attribute transmission – UserInfo Endpoint • Discovery – JSON Based • Dynamic Client Registration • Session Management – Refresh/Check/Logout 5
  • 6. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 6
  • 7. Latest Specs • Core – http://openid.net/specs/openid-connect-core-1_0.html • Framework – http://openid.net/specs/openid-connect-framework- 1_0.html • Discovery – http://openid.net/specs/openid-connect-discovery- 1_0.html • HTTP Redirect Binding – http://openid.net/specs/openid-connect-http-redirect- 7 1_0.html
  • 8. Latest Specs • Session Management – http://openid.net/specs/openid-connect-session- 1_0.html • Dynamic Client Registration – http://openid.net/specs/openid-connect-registration- 1_0.html • UserInfo – http://openid.net/specs/openid-connect-userinfo- 1_0.html 8
  • 9. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 9
  • 10. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 10
  • 11. GET /.well-known/simple-web-discovery OpenID Connect Discovery • Endpoint,メタデータをDiscoveryするしくみ – Endpoints – サポートしているFlow,Identifierの種類など • HTTPS + GETでDiscovery用エンドポイントに アクセス • レスポンスフォーマットはJSONオブジェクト – XRDよりも簡単!? 11
  • 12. GET /.well-known/simple-web-discovery OpenID Connect Simple Web Discovery • Discoveryに利用できるIdentifierは3種類 – Hostname – Email – URL • OpenID Connectの最初の利用例 – Emailアドレスを入力(≒WebFinger) – OP Identifierを入力(≒OpenID Auth 2.0) – OpenID URLを入力(≒OpenID Auth 1.1) 12
  • 13. GET /.well-known/simple-web-discovery OpenID Connect Simple Web Discovery • Request GET /.well-known/simple-web-discovery? principal= joe@example.com& service=http://openid.net/specs/connect/1.0/issuer HTTP/1.1 Host: example.com 13
  • 14. GET /.well-known/simple-web-discovery OpenID Connect Simple Web Discovery • Response HTTP/1.1 200 O.K. Content-Type: application/json { "locations": ["https://example.com/auth"] } 別のURLへのリダイレクト指定も可能 14
  • 15. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 15
  • 16. OpenID Connect Dynamic Client Registration • DiscoveryによりRegistration Endpointを 取得 • Registration EndpointにClient登録/更新 のリクエストを送る 16
  • 17. OpenID Connect Dynamic Client Registration • Request (HTTP POST, JSONオブジェクト) – type : “client_associate”/“client_update” – client_id – client_secret – contact : email list – application_type, application_name – logo_url, redirect_url, js_origin_url, jwk_url – sector_identifier @_nat JWTではないのでしょうか? 17
  • 18. OpenID Connect Dynamic Client Registration • Response (JSON object) – client_id – client_secret – expires_in 18
  • 19. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 19
  • 20. HTTP Redirect Binding • OAuth 2.0のFlowにOpenID Connectの Request/Responseパラメータを加える方法 20
  • 21. Protocol Flows • Authorization Code Flow – ClientがWeb Serverとして動作 • Implicit Flow – ClientがJavaScript, Flashなどで動作 21
  • 22. Protocol Flows • Authorization Code Flow – ClientがWeb Serverとして動作 • Implicit Flow – ClientがJavaScript, Flashなどで動作 22
  • 23. Authorization Code Flow End User Client AuthZ Resource 0. Clientにサービス要求 Server Server 1. Request準備 2. AuthZ ServerにRequestを送信 3. Authentication 4. Consent/Authorization 5. AuthZ CodeとともにUserを戻す 6. Assertion要求 7. Assertion応答 8. UserInfo Endpointにアクセス 23 9. 属性情報など応答
  • 24. Authorization Code Flow End User Client AuthZ Resource 0. Clientにサービス要求 Server Server 1. Request準備 2. AuthZ ServerにRequestを送信 3. Authentication 4. Consent/Authorization 5. AuthZ CodeとともにUserを戻す 6. Assertion要求 7. Assertion応答 8. UserInfo Endpointにアクセス 24 9. 属性情報など応答
  • 25. Requestの送り方は3種類 • Query Parameters Method – クエリパラメータにそのまま含む • Request Parameter Method – OpenID Connect RequestをToken(文字列) にしてrequestパラメータとして指定 • UserInfo/Session Management関連 • Request File Method – JSONオブジェクトを返すURLを用意して、その URLをパラメータに含む 25
  • 28. request パラメータ • OpenID Connect リクエスト – 下記機能についてのリクエスト • UserInfo : 必要なクレーム、フォーマット • Session Management : ID Tokenに含むクレーム、 PAPE関連のパラメータなど • JSONオブジェクトを文字列として表現 – “jwt_header.jwt_payload.jwt_crypto” • jwt_header : メタデータをBase64URLEnc • jwt_payload : JSONオブジェクトをBase64URLEnc • jwt_crypto : Signatureなど 28
  • 29. Request File Method • JSON オブジェクトを返すRequest URLを作 成 https://rp.example.com/rf.js { "response_type": "code", "client_id": "s6BhdRkqt3", "redirect_uri": "https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb", "scope": "openid", "state": "af0ifjsldkj“ 29 }
  • 31. Authorization Code Flow End User Client AuthZ Resource 0. Clientにサービス要求 Server Server 1. Request準備 2. AuthZ ServerにRequestを送信 2.5. Request File 取得 3. Authentication 4. Consent/Authorization 5. AuthZ CodeとともにUserを戻す 6. Assertion要求 7. Assertion応答 8. UserInfo Endpointにアクセス 31 9. 属性情報など応答
  • 32. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 32
  • 33. OpenID Connect Framework • OAuth 2.0 に追加される OpenID Connect独自リクエスト/レスポンス • UserInfo エンドポイントで返されるClaim • その他... 33
  • 34. OpenID Request Object • OpenID Connect リクエスト – 下記機能についてのリクエスト • UserInfo : 必要なクレーム、フォーマット • Session Management : ID Tokenに含むクレーム、 PAPE関連のパラメータなど • JSONオブジェクトを文字列として表現 – “jwt_header.jwt_payload.jwt_crypto” • jwt_header : メタデータをBase64URLEnc • jwt_payload : JSONオブジェクトをBase64URLEnc • jwt_crypto : Signatureなど 34
  • 35. OpenID Request Object { "inf": { "clm": { "name": null, "nickname": {"opt": true}, "email": null, "verified": null, "picture": {"opt": true}, }, "fmt": "sig" } "idt": { "mxa": 86400, "eaa": "2" 35 }
  • 36. UserInfo Endpoint : Claims • 下記の3種類のClaimを提供する – Normal Claims : OPがAssertしたClaims – Aggregated Claims : OPから返されるが、別 のOPがAssertしたClaims • JWT形式 – Distributed Claims • 別のOPのエンドポイントから返されるClaims • endpoint, access_token 36
  • 37. Authorization Code Flow End User Client AuthZ Resource 0. Clientにサービス要求 Server Server 1. Request準備 2. AuthZ ServerにRequestを送信 3. Authentication 4. Consent/Authorization 5. AuthZ CodeとともにUserを戻す 6. Assertion要求 7. Assertion応答 8. UserInfo Endpointにアクセス 37 9. 属性情報など応答
  • 38. { "name": "Jane Doe" ... "_claim_names": { "birthday": "src1", "eye_color": "src1", "credit_score": "src3" }, "_claim_sources": { "src1": {"JWT": "JWT_hdr.JWT_claims.JWT_crypto"}, "src3": {"endpoint": "https://creditagency.example.com/claimshere", "access_token": "ksj3n283dke"} } } 38
  • 39. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 39
  • 40. OpenID Connect UserInfo • FrameworkにあったNormal Claimsについ ての定義 – Profileデータ • Request – access_token – schema : “openid” 40
  • 41. OpenID Connect UserInfo • ResponseはJSONオブジェクト or JWT – AuthZ Requestの際にJWT形式で指定 41
  • 42. Latest Specs • Core : Messages, Abstract flow • Framework : Req/Res formats • Discovery • HTTP Redirect Binding : HTTP protocol binding • Session Management • Dynamic Client Registration • UserInfo 42
  • 43. OpenID Connect Session Management • ID Tokenを用いたセッション管理 – 現在誰がログイン中なのか確認する – Client側からログアウトさせる • ID Token : JWSを用いた署名付きクレーム – issur – client_id – user_id – audience – exp 43
  • 44. OpenID Connect Session Management • Creating Session : ID Token発行 – Authorization Request • Clientはresponse_type に “id_token”を含む – Access Token Response • AuthZ ServerはAccess Tokenと一緒にid_tokenを 渡す 44
  • 45. OpenID Connect Session Management • Session Management Endpoints – Refresh Session : expireしたid_tokenの更新 – Check Session : id_tokenの内容取得 – End Session : Clientからのログアウト要求 45