openid connect: an overview

17
OpenID Connect: An Overview Pat Patterson Developer Evangelist Architect salesforce.com @metadaddy

Upload: pat-patterson

Post on 10-May-2015

3.480 views

Category:

Technology


2 download

DESCRIPTION

Brief overview of OpenID Connect - presented at Bay Area Identity Developers Meetup, Dec 2 2013.

TRANSCRIPT

Page 1: OpenID Connect: An Overview

OpenID Connect: An Overview

Pat PattersonDeveloper Evangelist Architect

salesforce.com@metadaddy

Page 2: OpenID Connect: An Overview

What is OpenID Connect?

Simple Identity Layer for the Internet

[OpenID Connect] allows Clients to verify the identity of the End-User based on the

authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.

Page 3: OpenID Connect: An Overview

What is OpenID Connect?

• Specification defined by OpenID Foundation ‘Connect’ Work Group–NRI, Ping Identity, Microsoft, Google,

Salesforce etc • Built on OAuth 2.0• REST-based• Successor to SAML?

Page 4: OpenID Connect: An Overview

OpenID Connect Status

• ‘Nearly complete’– Second set of OpenID Connect

Implementer’s Drafts approved in July, 2013– Interop testing under way–Waiting for dependencies to be

standardized• JWT, JWS etc

Page 5: OpenID Connect: An Overview

OpenID Connect Specification

• OpenID Connect 1.0 Specification– Core– Discovery (optional)– Dynamic Registration (optional)– Session Management (optional)– OAuth 2.0 Multiple Response Types

• Implementer’s Guides– Basic Client Profile– Implicit Client Profile

Page 6: OpenID Connect: An Overview

OpenID Connect Roles

Web-based, mobile, or JavaScript Clients verify the

identity of End-Users based on authentication performed by an

Authorization Server.

Page 7: OpenID Connect: An Overview

OpenID Connect Basic Client Profile

Page 8: OpenID Connect: An Overview

OpenID Connect Implicit Client Profile

Page 9: OpenID Connect: An Overview

OpenID Connect Token Response

{ "access_token":"SlAV32hkKG", "token_type":"Bearer", "expires_in":3600, "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA", "id_token":"eyJ0 ... NiJ9.eyJ1c ... ZXso”}

• id_token is a JSON Web Token (JWT)– Signed, URL/filename-safe base64 encoded JSON data

Page 10: OpenID Connect: An Overview

OpenID Connect ID Token

{ "iss": "https://server.example.com", "sub": "24400320", "aud": "s6BhdRkqt3", "exp": 1311281970, "iat": 1311280970}

• Issuer, Subject, Audience, Expiry, Issued At• Also optional email, auth_time, nonce etc

Page 11: OpenID Connect: An Overview

Who is Deploying OpenID Connect?

• Services: Google, Salesforce, eBay, AOL, Deutsche Telekom, Orange

• Vendors: IBM, Microsoft, Ping Identity, Layer 7, ForgeRock, Gluu, MITRE, NRI

Page 12: OpenID Connect: An Overview

OpenID Connect in Action

• Client: Salesforce Community• Auth Server: Google• End User: Me!

Page 13: OpenID Connect: An Overview

Salesforce Community Login Page

Page 14: OpenID Connect: An Overview

Google Login Page

Page 15: OpenID Connect: An Overview

Google Authorization Page

Page 16: OpenID Connect: An Overview

Salesforce Community Home Page

Page 17: OpenID Connect: An Overview

Questions?Pat Patterson

Developer Evangelist Architectsalesforce.com@metadaddy