CIS14: OAuth and OpenID Connect in Action

31
OAuth & OpenID Connect in Action Chuck Mortimore VP, Product Management Salesforce Identity @cmort

description

Chuck Mortimore, Salesforcce.com Setup and walk-through of live demos, demonstrating interop of various providers and showing real enterprise use-cases.

Transcript of CIS14: OAuth and OpenID Connect in Action

Page 1: CIS14: OAuth and OpenID Connect in Action

OAuth & OpenID Connect in ActionChuck Mortimore VP, Product Management Salesforce Identity @cmort

Page 2: CIS14: OAuth and OpenID Connect in Action

a quick demo client

Page 3: CIS14: OAuth and OpenID Connect in Action
Page 4: CIS14: OAuth and OpenID Connect in Action

the world’s simplest client

Page 5: CIS14: OAuth and OpenID Connect in Action

1) Register an App 2) Get your Metadata 3) Create (initialize) your Client 4) Use your Tokens

Page 6: CIS14: OAuth and OpenID Connect in Action

1) Register an App

Page 7: CIS14: OAuth and OpenID Connect in Action

2) Get your Metadata

https://login.salesforce.com/.well-known/openid-configuration

Page 8: CIS14: OAuth and OpenID Connect in Action

2) Get your Metadata { "issuer": "https://login.salesforce.com", "authorization_endpoint": "https://login.salesforce.com/services/oauth2/authorize", "token_endpoint": "https://login.salesforce.com/services/oauth2/token", "revocation_endpoint": "https://login.salesforce.com/services/oauth2/revoke", "userinfo_endpoint": "https://login.salesforce.com/services/oauth2/userinfo", "jwks_uri": "https://login.salesforce.com/id/keys", "scopes_supported": ["id", "api", "web", "full", "chatter_api", "visualforce", "refresh_token", "openid"], "response_types_supported": ["code", "token", "token id_token"], "subject_types_supported": ["public"], "id_token_signing_alg_values_supported": ["RS256"], "display_values_supported": ["page", "popup", "touch"], "token_endpoint_auth_methods_supported": ["client_secret_post", "private_key_jwt"] }

Page 9: CIS14: OAuth and OpenID Connect in Action

3) Create your Client

https://login.salesforce.com/services/oauth2/authorize?response_type=code&redirect_uri=https%3A%2F

%2Flocalhost&client_id=…

curl -H 'Content-Type: application/x-www-form-urlencoded' -d "client_id=...&client_secret=...&redirect_uri=https%3A%2F

%2Flocalhost&grant_type=authorization_code&code=..." https://login.salesforce.com/services/oauth2/token

…and validate your id_token

Page 10: CIS14: OAuth and OpenID Connect in Action

4) Use your access_token

curl -H "Authorization: Bearer ..." https://login.salesforce.com/services/oauth2/userprofile

Page 11: CIS14: OAuth and OpenID Connect in Action
Page 12: CIS14: OAuth and OpenID Connect in Action

so what can we do with all this plumbing?

Page 13: CIS14: OAuth and OpenID Connect in Action

social sign-on

Page 14: CIS14: OAuth and OpenID Connect in Action

1) Register an App

Page 15: CIS14: OAuth and OpenID Connect in Action

2) Get your Metadata

https://accounts.google.com/.well-known/openid-configuration

Page 16: CIS14: OAuth and OpenID Connect in Action

3) Initialize your client software

Page 17: CIS14: OAuth and OpenID Connect in Action

4) Just-in-Time Provisioning

Page 18: CIS14: OAuth and OpenID Connect in Action

faster, simpler, better federation

Page 19: CIS14: OAuth and OpenID Connect in Action

1) Register an App

Page 20: CIS14: OAuth and OpenID Connect in Action

2) Get your Metadata

https://gold.pinglabs.net:9031/.well-known/openid-configuration

Page 21: CIS14: OAuth and OpenID Connect in Action

3) Initialize your client software

Page 22: CIS14: OAuth and OpenID Connect in Action

4) Map Users

Page 23: CIS14: OAuth and OpenID Connect in Action

5) Access APIs!

Page 24: CIS14: OAuth and OpenID Connect in Action

enterprise mobile apps

Page 25: CIS14: OAuth and OpenID Connect in Action

Let’s build this App

Page 26: CIS14: OAuth and OpenID Connect in Action

Refresh Tokens provide “SSO”

Page 27: CIS14: OAuth and OpenID Connect in Action

Let’s Layer in Federation

Page 28: CIS14: OAuth and OpenID Connect in Action

Let’s add Enterprise Policies

Page 29: CIS14: OAuth and OpenID Connect in Action

How about Two Factor Authentication

Page 30: CIS14: OAuth and OpenID Connect in Action

Bonus: Custom Claims

Page 31: CIS14: OAuth and OpenID Connect in Action