Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social...

36
Social Login mit Facebook, Google und Co. Stefan Bohm www.ic-consult.com IAM EXCELLENCE OAuth 2.0 und OpenID Connect

Transcript of Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social...

Page 1: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Social Login mit Facebook, Google und Co. Stefan Bohm

www.ic-consult.com

IAM  EXCELLENCE  

OAuth 2.0 und OpenID Connect

Page 2: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID
Page 3: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

OAuth 2.0 Zugriffsrechte auf geschützte Ressourcen an Dritte vergeben

Geschützte Ressourcen = Userattribute + Steuerung des Logins + Information über Login

HTTPS

Page 4: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Anwender Persönliche Ressource Service Provider

Web Application

Web Application

Service Consumer

User-ID Passwort

Page 5: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Uneingeschränkter

Zugriff!

Page 6: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Passwort = Schlüssel

Page 7: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Vertrauenswürdigkeit?

Page 8: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

à Password-Antipattern!

Page 9: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID
Page 10: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Hallo Helpdesk, bitte Leserechte für

meine Fotos an pixprintr.com

erteilen.

Genau. Lesezugriff für eine Stunde.

Foto: Shutterstock.com | Everett Collection

Page 11: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Bild: Shutterstock.com | Amal Babu

Page 12: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Protokoll zwischen drei Parteien mit dem Ressource-Eigentümer eingeschränkte Zugriffsrechte

auf geschützte Ressourcen, die von einem Ressource-Provider gehostet

werden, an Ressource-Consumer „in-band“ erteilen können.

Page 13: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID
Page 14: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Authentication, Authentication Request, Authentication Context,

Authentication Context Class, Authentication Context Class Reference, Authorization Code

Flow, Authorization Request, Claim, Claim Type, Claims Provider,

Credential, End-User, Entity, Essential Claim, Hybrid Flow,

ID Token, Identifier, Identity, Implicit Flow, Issuer, Issuer Identifier,

Message, OpenID Provider, Request Object, Request URI,

Pairwise Pseudonymous Identifier, Personally Identifiable Information,

Relying Party (RP), Sector Identifier, Self-Issued OpenID Provider,

Subject Identifier, UserInfo Endpoint, Validation, Verification, Voluntary Claim

?

Page 15: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Foto: Shutterstock.com | fotosav

Page 16: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Valet

Valet Key

Einparken

Bitte mein Auto einparken.

Page 17: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Valet Key

{ "access_token":"2YotnFZFEjr1" }

Page 18: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Resource Provider

Resource Request + access_token

Wie kommt der Client an das Access Token?

Client

Page 19: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Resource Provider

Web Application

API

https://

OAuth 2.0 Client

Authorization Code Flow: Client ist eine Web-Applikation

https https

Browser „OAuth-geschützt“

Resource Consumer

Page 20: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

https://

Resource Provider

Resource Consumer (Client)

Redirection Endpoint

302 Redirect + Authorization Code

Authorization Endpoint

Login und

Consent

Resource Request + Access Token

Resource Endpoint

200 OK + Access Token

POST + Authorization Code

+ Client ID + Client Secret

Token Endpoint

+ ID Token

UserInfo Endpoint

30x Redirect + Scope

+ Client-ID + Login-Steuerung

+ standard. Scopes /irgendeineUrl

Page 21: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

https://

Live Demo

Resource Consumer (Client)

Authorization Endpoint

Resource Endpoint

Token Endpoint

https://accounts.google.com/o/oauth2/auth

https://accounts.google.com

/o/oauth2/token

Redirection Endpoint

/initflow

/callback

Localhost

https://www.googleapis.com/oauth2/v3/userinfo

Page 22: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID
Page 23: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

https://

Resource Provider

Resource Consumer (Client)

Authorization Endpoint

Resource Endpoint

Token Endpoint

Einfach

Schwer

Redirection Endpoint

Page 24: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Ja, aber...

Page 25: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Dann eben kein Social Login!

Page 26: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Ist doch Wurscht...

Page 27: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Informationssicherheit?

Page 28: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Risiken

Sicherheits-maßnahmen

Informationssicherheit!

Page 29: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Risiko 1 Anwender ist nicht der, der er vorgibt zu sein.

Page 30: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Risiko 2 Die Informationen, die wir

über den Anwender haben, entsprechen nicht der

Wahrheit.

Page 31: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Authentication Assurance

Identity Assurance Anonym

Selbst-registrierung

Social Login

Adresse verifiziert

geschäftl. Transaktion erfolgreich

vertrauenswürdiger Dritter,

z.B. Postident, SuisseID

Social Login

Passwort

Multifactor-Authentication

One-Time Passwort,

z.B. Google Authenticator

Fahrzeug lokalisieren

Fahrzeug konfigurieren, Konfiguration speichern Informationsmaterial

bestellen

Page 32: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Botschaft 1 Ein Social Login ist

einfach* zu verwenden.

Page 33: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Botschaft 2 Ein Social Login setzt die

Eintrittsschwelle für Neukunden herunter.

Page 34: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Botschaft 3 Der Einsatz von

Social Login hängt vom Anwendungsfall ab.

Page 35: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

Welcome Everyone Trust No One

Page 36: Social Login mit Facebook, Google und Co.2015.java-forum-stuttgart.de/_data/G7_Bohm.pdf · Social Login mit Facebook, Google und Co. Stefan Bohm IAMEXCELLENCE$ OAuth 2.0 und OpenID

IAM EXCELLENCE

iC Consult GmbH Keltenring 14 82041 Oberhaching +49 89 660497-0 www.ic-consult.com