.NET Summit 2016 München: Angular 2 mit TypeScript
OOP 2016: Moderne Security Szenarien mit OAuth 2 und OIDC
1. 1
Zeitgemäße Sicherheitsszenarien mit
OAuth2 und OpenId Connect
Manfred Steyer
Ziel
Möglichkeiten bezüglich SSO und Delegation mit
OAuth 2.0 und OpenId Connect (OIDC) kennen
lernen
Folie 6
3. 3
Ein Benutzer - zu viele Konten
Folie 9
Clients benötigen Zugriff
Folie 10
4. 4
ÜBERBLICK ZU OAUTH 2.0
Page 11
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
6. 6
FLOWS
Page 15
Flows
Authorization Code Grant
Am meisten Sicherheitsmerkmale
Client gibt sich über Client-Secret zu erkennen
Serverseitige Web-Anwendungen
"Langzeit-Delegation"
Implicit Grant
Clients ohne Client-Secret
Token wird nur an Uri des Client gesendet
Beispiel: Single Page Applications
7. 7
Flows
Resource Owner Password Credentials Grant
Benutzer vertraut Client seine Credentials an
Client Credentials Grant
Client "in eigener Mission"
Extension Grants
AUTHENTIFIZIERUNG
Page 38
8. 8
Authentifizierung 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