Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OPTiM サービスでの OAuth 2.0/OpenID Connect と 周辺技術の活用事例

OPTiM
February 25, 2019

OPTiM サービスでの OAuth 2.0/OpenID Connect と 周辺技術の活用事例

OPTiM

February 25, 2019
Tweet

More Decks by OPTiM

Other Decks in Technology

Transcript

  1. Copyright © 2019 OPTiM Corp. All Rights Reserved. 2 

    p Yuu Kikuchi p Works at OPTiM Inc. (2014 ~) p Engineer at Platform business division p in OPTiM... • OPTiM Store (2016 ~) • OPTiM Cloud IoT OS/LANDLOG (2017 ~) p in OIDF-J… • Enterprise Identity WG Phase 3 (2016 ~) • KYC WG (2019 ~)
  2. Copyright © 2019 OPTiM Corp. All Rights Reserved. 4 p

    AI/IoT M (PaaS) p P S O p (LANDLOG) T (AGRI EARTH) I C M
  3. Copyright © 2019 OPTiM Corp. All Rights Reserved. 6 I

    T p IoT Platform o S u p O I C C p Microservice Architecture C p OAuth Resource Server l • Access Token C d
  4. Copyright © 2019 OPTiM Corp. All Rights Reserved. 7 p

    Shared Database • Authorization Server Resource Server Access Token e • eDB k S p Token Introspection • Access Token T R T Authorization Server • Authorization Server k p Formatted Access Token • Access Token A • Resource Server Access Token Resource Server k c S
  5. Copyright © 2019 OPTiM Corp. All Rights Reserved. 12 OAuth

    2.0Access TokenJSON Web Token(JSON Web Signature) - r-weblife (http://d.hatena.ne.jp/ritou/20140927/1411811648)
  6. Copyright © 2019 OPTiM Corp. All Rights Reserved. 20 B

    p $!&'+57;#<4@=/6 OAuth PKCE (RFC7636) A3 p Device 57;08JWT Profile for OAuth 2.0 Client Authentication (RFC7523) A3 p '* "%(?9'+1 ,-.)D  OpenID Connect Session Management A3 • :'+2C  iOS 12 (ITP2.0) > 
  7. Copyright © 2019 OPTiM Corp. All Rights Reserved. 22 P

    S p SaaS Marketplace o • SaaS Marketplace T e • ID i p OPTiM Store • API t ”Contract API” • r M P SO ”SCIM API” • IDaaS Single-Sign On “OpenID Connect"
  8. Copyright © 2019 OPTiM Corp. All Rights Reserved. 23 OPTiM

    Store API Docs (https://optim-corp.github.io/optim_store_api_docs/)
  9. Copyright © 2019 OPTiM Corp. All Rights Reserved. 24 3ϥΠηϯεߪೖ

    3ϥΠηϯεߪೖ ςφϯτ४උ׬ྃ ςφϯτ࡞੒ SCIM ॳظઃఆ OIDC ॳظઃఆ ϥΠηϯεߪೖ׬ྃ ϥΠηϯε෇༩ (3ਓ෼) ΞΧ΢ϯτ࡞੒ End User ʹ Push ௨஌
  10. Copyright © 2019 OPTiM Corp. All Rights Reserved. 25 p

    CP JWT RP • RSA JWK p RP JWT I • RSA A • JWK
  11. Copyright © 2019 OPTiM Corp. All Rights Reserved. 29 3ϥΠηϯεߪೖ

    3ϥΠηϯεߪೖ ςφϯτ४උ׬ྃ ςφϯτ࡞੒ SCIM ॳظઃఆ OIDC ॳظઃఆ ϥΠηϯεߪೖ׬ྃ ϥΠηϯε෇༩ (3ਓ෼) ΞΧ΢ϯτ࡞੒ End User ʹ Push ௨஌
  12. Copyright © 2019 OPTiM Corp. All Rights Reserved. 30 p

    Contract API M JWT RP C • Payload SCIM Client A p RP I P OAuth Client
  13. Copyright © 2019 OPTiM Corp. All Rights Reserved. 32 3ϥΠηϯεߪೖ

    3ϥΠηϯεߪೖ ςφϯτ४උ׬ྃ ςφϯτ࡞੒ SCIM ॳظઃఆ OIDC ॳظઃఆ ϥΠηϯεߪೖ׬ྃ ϥΠηϯε෇༩ (3ਓ෼) ΞΧ΢ϯτ࡞੒ End User ʹ Push ௨஌
  14. Copyright © 2019 OPTiM Corp. All Rights Reserved. 33 p

    Contract API IA IAD JWT IdP p IdP IA OpenID Connect Client • OpenID Connect / OAuth 2.0 Dynamic Client Registration C
  15. Copyright © 2019 OPTiM Corp. All Rights Reserved. 35 3ϥΠηϯεߪೖ

    3ϥΠηϯεߪೖ ςφϯτ४උ׬ྃ ςφϯτ࡞੒ SCIM ॳظઃఆ OIDC ॳظઃఆ ϥΠηϯεߪೖ׬ྃ ϥΠηϯε෇༩ (3ਓ෼) ΞΧ΢ϯτ࡞੒ End User ʹ Push ௨஌ SCIM 
  16. Copyright © 2019 OPTiM Corp. All Rights Reserved. 40 GR_

    p OAuth Client / OIDC RP UX[ab W< • 3(16,58./,58ZEEQ `C>: • (BackendM ) &).-2)8%Cookie^! • 7*&'2%DF" H!AS #! •  ">NIdP ./,58%=9LB] • PKCE  code_challenge %J ?I C>: p @\ ;$JWT  iat/exp J PT +- >? • " IaaS ,-04@O KWYVF