LASCON: Three Profiels of OAuth2 for Identity and Access Management

27
Three profiles of OAuth2 for Identity and Access Management Michael Schwartz CEO, Gluu

Transcript of LASCON: Three Profiels of OAuth2 for Identity and Access Management

Page 1: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Three profiles of OAuth2for Identity and Access

ManagementMichael Schwartz

CEO, Gluu

Page 2: LASCON: Three Profiels of OAuth2 for Identity and Access Management
Page 3: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Why do we have OAuth?

Not good… Client can impersonate user.

Page 4: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Look familiar?

Page 5: LASCON: Three Profiels of OAuth2 for Identity and Access Management

OAuth 2.0--not an authentication protocol.

Using chocolate to make fudge does not make (chocolate == fudge) true.

Page 6: LASCON: Three Profiels of OAuth2 for Identity and Access Management

14 RFC’s, 14 Active Drafts

https://datatracker.ietf.org/wg/oauth/documents/

RFC 6749 The OAuth 2.0 Authorization Framework RFC 6750 The OAuth 2.0 Authorization Framework: Bearer Token Usage RFC 6755 An IETF URN Sub-Namespace for OAuth RFC 6819 OAuth 2.0 Threat Model and Security Considerations Errata RFC 7009 OAuth 2.0 Token Revocation RFC 7519 JSON Web Token (JWT)

RFC 7521Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants

RFC 7522 SAML 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants

RFC 7523JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants

RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol RFC 7592 OAuth 2.0 Dynamic Client Registration Management Protocol RFC 7636 Proof Key for Code Exchange by OAuth Public Clients RFC 7662 OAuth 2.0 Token Introspection Errata RFC 7800 Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)

Page 7: LASCON: Three Profiels of OAuth2 for Identity and Access Management

OAuth2 Roles

Page 8: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Scopes

http://gluu.co/google-scopes

Page 9: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Tokens

Bearer: s1av32hkgJWT: header.payload.signature

HOK / Proof of PossesionToken Binding

Page 10: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Registration

Page 11: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Grants

Authorization CodeImplicit

Client CredentialResouce Owner Password Credential

Page 12: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Grants

Authorization CodeImplicit

Client CredentialResource Owner Password Credential

Page 13: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Auth Code Flow Swimlane

Page 14: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Implicit Flow Swimlane

Page 15: LASCON: Three Profiels of OAuth2 for Identity and Access Management

RO PW Cred Flow Swimlane

Page 16: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Token Introspection APIAuthorization: Bearer s1av32hkg

{"active": true, "client_id": "l238j323ds-23ij4", "username": "jdoe", "scope": "read write dolphin"}

Page 17: LASCON: Three Profiels of OAuth2 for Identity and Access Management

OpenID Connect

Page 18: LASCON: Three Profiels of OAuth2 for Identity and Access Management

OpenID Connect Stack

Page 19: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Hybrid Flow

Page 20: LASCON: Three Profiels of OAuth2 for Identity and Access Management

response_type

Page 21: LASCON: Three Profiels of OAuth2 for Identity and Access Management

+ id_token{"iss": "https://server.example.com", "sub": "24400320", "aud": "s6BhdRkqt3", "nonce": "n-0S6_WzA2Mj", "exp": 1311281970, "iat": 1311280970, "auth_time": 1311280969, "acr": "urn:mace:incommon:iap:silver"}

Page 22: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Discoveryhttps://(host)/.well-known/openid-configuration

Page 23: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Dynamic Client Registration

Page 24: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Logout

Front ChannelBack ChannelOAuth2 Security Events WG

Page 25: LASCON: Three Profiels of OAuth2 for Identity and Access Management

UMA

Page 26: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Example of UMA

Page 27: LASCON: Three Profiels of OAuth2 for Identity and Access Management

Free Open Source?

Check out Gluu!

http://gluu.org