OAuth 2.0 Ralf Hoffmann 03 / 2017 ralf.hoffmann@gmx.de.

Slides:



Advertisements
Ähnliche Präsentationen
Ausblick auf Shibboleth 2.0
Advertisements

Was gibt´s neues im Bereich Sicherheit
Zusammenarbeit in Office mit den SharePoint Technologien Michael Carpi
Web-Entwicklung mit ASP.NET 2.0 und Visual Studio 2005 Uwe Baumann Marketing Manager Developer Tools Microsoft Deutschland GmbH Oliver Scheer Developer.
Inhalt – Technische Grundlagen
Bernd Oberknapp, UB Freiburg
Einführung in den Identity Provider
Erweiterung B2B Usermanagement / LDAP-Anbindung
Sicherheit und Personalisierung Internet Portal der Universität München.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Open Services Gateway Initiative
Web Single Sign-On Nutzen eines optimalen Zusammenspiels von Authentisierung und WAF Marc Bütikofer Senior Security Engineer Kryptologie & Security.
Ribbon Benutzeroberfläche / UI SharePoint Workspace SharePoint Mobile Office Client und Office Web App Integration Unterstützung von Standards.
Trusted SaaS im Handwerk: flexibel – integriert – kooperativ Single Sign-On in der Cloud am Beispiel des CLOUDwerker-Projektes Kloster Banz, ,
Federated Identities und SSO mit Windows Azure
Sharepoint Workshop Markus Wehr
HOB RD VPN HOB Remote Desktop Virtual Private Network
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
OpenStack Jörn Esdohr | Oktober 2012, Dortmund.
Webservice Grundlagen
RATEME 2.0 Pirmin Schürmann, Thomas Junghans, HSZ-T.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH Christian Weyer Solutions Architect thinktecture.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
WISPR (Wireless ISP roaming)
Top Features kurz vorgestellt: Workplace Join
Manfred Helber Microsoft Senior PreSales Consultant.
Datenanbindung in Webapplikationen
RateMe Slides.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
7.-8. März 2013, Rosenheim SharePoint Security Das Sicherheitssystem von SharePoint 2013 Fabian Moritz | MVP SharePoint Server.
X-art Premium Account password free March 2015
Willkommen zum Brückensemester
Fabian Moritz | MVP SharePoint Server
Jan Rohe Education Support Centre
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
2004 Edition ChemPort – Keine Hexerei mit my.cas.org! Dr. Thomas Haubenreich.
Welcome to Web Services & Grid Computing Jens Mache
M AILSERVER Universität zu Köln IT- Zertifikat Seminarleitung: Susanne Kurz M.A Referentinnen: Saskia Giersch und Lisa Berger.
Cloud Entwicklung: Web Services
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
Lernen Mach das Buch auf Seite 30 und beantworte die Fragen.
The Chicago Style (2 e-publication) -1- The Practice of Citing Scientific Sources in the Chicago Style Part 2 - Electronic sources -
Shibboleth. Agenda Shibboleth? Single-Sign-On SAML & Co. Shibboleth  Eigenschaften  Architektur & Komponenten  Implementierungen  Kommunikation 
Agenda Identitäten und Authentifizierung Rollen, Rechte und Berechtigungen Heraufstufung und Impersonifizierung (Cloud) App Security mit OAuth.
© 2010 | magellan netzwerke GmbH Application Delivery und Virtualisierung Referent Dipl.-Ing. Sven Müller.
Application Infrastructure Technologies Extending OnPremise EAI to the Cloud Wilfried Mausz BSc. dataformers GmbH Lothar Mausz dataformers.
IS: Datenbanken, © Till Hänisch 2000 Windows Netzwerke TCP/IP oder was ?
Forms 9i - New FeaturesSeite 1 Forms 9i New Features Gerd Volberg OPITZ CONSULTING GmbH.
Ralf Stockmann, Stefan Schmunk SUB Göttingen, Abteilung Forschung & Entwicklung Forschungsdaten in Raum und Zeit.
Identity Management.  Zentrale Begriffe und Probleme  Modellbildung  Methoden zur Authentisierung über HTTP  Technische Aspekte  Compliance  Hindernisse,
Workshop 5 TMC 2016 Gregor Glinka
Google App Engine - Technische Stärken und Schwächen
Arbeiten mit virtuellen Maschinen in Microsoft Azure
Azure Active Directory und Azure Active Directory Domain Services
Erweiterte Azure Dienste
Wsl schon abgeschaltet Idee dahinter ist interessant und revolutionär
Azure Countdown Wenn der Freund und Helfer Freunde und Helfer braucht: Sichere Content-Upload-Plattform für Bürger.
Measurable Objectives: By the end of the lesson, all learners will be able to - Talk about holiday plans - Choose between fahren and gehen - Say.
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
Du kommst hier nicht rein!
SOFTWARE- UND WEB-LÖSUNGEN
- moodle – a internet based learning platform
 Präsentation transkript:

OAuth 2.0 Ralf Hoffmann 03 / 2017 ralf.hoffmann@gmx.de

Früher User / Pass User / Pass Client Server Alles aus einer Hand

Früher / Heute Resource Server Client Applikation Third Party Sind meine Credentials hier sicher??? User / Pass User / Pass Resource Server Client Applikation Die sollen nicht alles können! Third Party Kann ich den Zugriff zeitlich beschränken?

Lösung: OAuth 2.0

Beispiel: photobox.com https://accounts.google.com/o/oauth2/auth? access_type=offline& state& redirect_uri=http%3A%2F%2Fupload.photobox.com%2Fapi%2Fgoogleplus%2Fauth.html& response_type=code& client_id=212623576204-df1jo6a25hs05e85lulgn3r6ahm9ksrb.apps.googleusercontent.com& scope=https%3A%2F%2Fpicasaweb.google.com%2Fdata& approval_prompt=force& from_login=1& as=7458c390d8b8af6c& authuser=0 https://accounts.google.com/o/oauth2/auth? access_type=offline& state& redirect_uri=http%3A%2F%2Fupload.photobox.com%2Fapi%2Fgoogleplus%2Fauth.html& response_type=code& client_id=212623576204-df1jo6a25hs05e85lulgn3r6ahm9ksrb.apps.googleusercontent.com& scope=https%3A%2F%2Fpicasaweb.google.com%2Fdata& approval_prompt=force& from_login=1& as=7458c390d8b8af6c& authuser=0 = Google Fotos = Photobox

Beispiel: photobox.com

Beispiel: photobox.com

Beispiel: photobox.com

Client ID Response Type Redirect Uri Scope Validate Ralf (Resource Owner) Client (PhotoBox) Authorization Server (Google) Resource Server (Google Drive) Fotos drucken von Google Drive Client ID Response Type An Browser: Öffne Google Login. Für: Photobox - Fotos - Code Nach Login: Leite um auf Photobox Redirect Uri Login für: Photobox, Berechtigung: Fotos Login Page Nach Login an Browser: Öffne Photobox Seite mit Code Scope Empfangener Code Empfangener Code Access Token Access Token Validate Fotos Fotos

Was ist ein „Access Token“ Zugriffsberechtigung Wie Geld / Scheck Begrenzte Lebensdauer Evtl. „Refresh“ Token -> neues Access Token Eingeschränkter Scope Z.B. nur Fotos, kein Kalender Revoke Token für ungültig erklären Inhalt des Tokens Undefiniert!

„Authorization Code Grant“ Ralf (Resource Owner) Client (PhotoBox) Authorization Server (Google) Resource Server (Google Drive) „Authorization Code Grant“ Fotos drucken von Google Drive An Browser: Öffne Google Login. Für: Photobox - Fotos - Code Nach Login: Leite um auf Photobox Login für: Photobox, Berechtigung: Fotos Login Page Nach Login an Browser: Öffne Photobox Seite mit Code Empfangener Code Empfangener Code Access Token Access Token Validate Fotos Fotos

„Implicit Grant“ Validate Ralf (Resource Owner) Client (PhotoBox) Authorization Server (Google) Resource Server (Google Drive) „Implicit Grant“ Fotos drucken von Google Drive An Browser: Öffne Google Login. Für: Photobox - Fotos – Access Token Nach Login: Leite um auf Photobox Login für: Photobox, Berechtigung: Fotos Login Page Nach Login an Browser: Öffne Photobox Seite mit Access Token Access Token Validate Fotos

„Resource Owner Password Credentials Grant” Ralf (Resource Owner) Client (PhotoBox) Authorization Server (Google) Resource Server (Google Drive) „Resource Owner Password Credentials Grant” Fotos drucken von Google Drive Login Seite Username / Pwd Photobox, Fotos Username / Password Access Token Access Token Validate Fotos Fotos

„Client Credentials Grant” Ralf (Resource Owner) Client (PhotoBox) Authorization Server (Google) Resource Server (Google Drive) „Client Credentials Grant” Client / Secret Photobox, Fotos Access Token Access Token Validate Fotos

Anwendungsfälle Authorization Code Grant Implicit Grant Applikationen mit eigenem Server Implicit Grant Browser Applikationen ohne eigenen Server Resource Owner Password Credentials Grant Legacy Alles aus einer Hand Client Credentials Grant Services ohne User Interaktion

Was fehlt? Keine User Information!

OpenID Connect What is OpenID Connect? OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It 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.

OpenID Connect Also: Standard für Identity Provider Was ist ein Identity Provider: Authentifiziert Benutzer Hält Informationen über den Benutzer Zuständig für viele verschiedene Resourcen Beispiele: Login with Google, Facebook etc. Unterstützung durch: Microsoft, Google, Amazon, IBM, …

OpenID Connect ID Token Json Web Token (JWT) = signiertes JSON Enthält “Claims” User ID Aussteller Zeitstempel Gültigkeitsdauer Optional: Email, Name Signatur

OpenID Connect ID Token Beispiel: { "sub" : "alice", "email" : "alice@wonderland.net", "email_verified" : true, "name" : "Alice Adams", "given_name" : "Alice", "family_name" : "Adams", "phone_number" : "+359 (99) 100200305", "profile" : "https://c2id.com/users/alice", "https://c2id.com/groups" : [ "audit", "admin" ] }

OIDC Implementierungen Microsoft Azure Active Directory Windows Server 2016 VIELE andere Open Source (.Net) Identity Server auch .Net Core sehr erweiterbar!

Konsumieren in C# Zu Fuß: Eingebetteter Browser Navigation auf Redirect Uri abfangen Externer Browser Http Listener in der App hört auf Redirect Uri Mit Library IdentityModel.OidcClient2 Auth0

Links OAuth 2.0 Spec: https://tools.ietf.org/html/rfc6749 Open ID Connect erklärt: https://connect2id.com/learn/openid-connect Client Libraries https://github.com/IdentityModel/IdentityModel.OidcClient2 https://auth0.com/ https://docs.microsoft.com/de-de/azure/active-directory/develop/active-directory-devquickstarts-webapp-dotnet