5. 5
Was ist OAuth ?
Ursprünglich Entwickelt von Twitter und Ma.gnolia
Protokoll zum Delegieren von (eingeschränkten)
Rechten
Mittlerweile verwendet von Google, Facebook,
Flickr, Microsoft, Salesforce.com oder Yahoo!
Folie 12
Rollen
Folie 13
Client
Authorization-Server
Resource-Server
Resource-Owner
Registriert mit
client_id,
client_secret,
redirect_uri Registriert mit
Credentials
7. 7
Flows
Authorization Code Grant
Am meisten Sicherheitsmerkmale
Klassische Web-Anwendungen
"Langzeit-Delegation"
Implicit Grant
Clients ohne Client-Secret
Single Page Applications
Flows
Resource Owner Password Credentials Grant
Benutzer vertraut Client seine Credentials an
Client Credentials Grant
Client "in eigener Mission"
Extension Grants
9. 9
Kein Bearer-Token
Folie 20
Token-Format
OAuth 2 schreibt kein Token-Format vor
Resource Server muss Token validieren und
auswerten können
Möglichkeiten zum Validieren
Bei Auth-Server nachfragen
Signatur prüfen
Token entschlüsseln
Folie 21
10. 10
Mögliche Token-Formate
GUID (Referenz-Token)
Eigenes Tokenformat
Verschlüsselung und/oder Signatur durch Auth-Server
JWT: JSON Web Token
JSON-Dokument beschreibt Claims
Kann signiert und/oder verschlüsselt sein
Header gibt Auskunft über verwendete Krypto-Algorithmen
Folie 22
SSO MIT OAUTH 2.0 UND
OPENID CONNECT
Page 38
11. 11
SSO mit OAuth
Folie 39
Client
Authorization-Server
Resource-
Server
3. /user/profile + Access-Token
1. Token anfordern
{ "user_name": "susi",
"email": "susi@sorglos.at", … }
2. Token
&scope=profile
Nicht durch
OAuth 2.0 definiert
OpenId Connect (OIDC)
Erweiterung zu OAuth 2.0
Standardisiert User-Profil-Endpunkt
Standardisiert Übermittlung von Profil-Infos
Client erhält auch ID-Token
JWT-Token mit Infos zum Benutzer + Audience
JWT-Token kann vom Aussteller signiert sein
Folie 44