Authentifizieren mit OAuth2 (UML-Sequenzdiagramm Übungsaufgabe)

https://bildung.social/@oerinformatik/111555679809480435

https://oer-informatik.de/uml-sequenzdiagramm-uebung-oauth2

tl/dr; (ca. 10 min Lesezeit): Authentifizierungsverfahren sind von zentraler Bedeutung bei Webservices. In deiser Aufgabe sollen die Akteure und die Nachrichtenfolge von OAuth2 recherchiert werden und schließlich als UML-Sequenzdiagramm dargestellt werden. Auch hier steht neben der Sequenzdiagramm-Übungsaufgabe das Kennenlernen eines zentralen Authentifizierungsmechanismuses im Fokus. (Zuletzt geändert am 28.02.2025)

Diese Aufgabe setzt voraus, dass Du die Notationen des UML-Sequenzdiagramms kennst (Infos z.B. in diesem Blogpost).

Wozu OAuth2?

Bei der Authentifizierung werden in der Regel die Faktoren Besitz, Wissen oder Eigenschaft genutzt, um sicherzustellen, dass die Person, die sich authentifizieren will, diejenige ist, die sie vorgibt zu sein. Das Wissen wird häufig in Form eines geteilten Geheimnisses (Passwort) überprüft. Damit man nicht für jeden Dienst ein eigenes Passwort generieren muss, wurde mit OAuth2 ein Mechanismus geschaffen, der es ermöglicht, sich mit den Zugangsdaten eines bestimmten Dienstes bei anderen Webservices anzumelden.

Recherchiert die Nachrichtenfolge und die Akteure von OAuth2!

Viele mobile Apps für Webdienste wie GitLab nutzen OAuth2 und Token, um sich beim Webdienst zu authentifizieren.

Recherchiere den Ablauf einer Authentifizierung zwischen einem User, einem GitLabClient und dem OAuth2-Server. Welche Nachrichten zwischen welchen Kommunikationspartnern (u.a. Passwortübermittlung, Tokenerzeugung, Tokenübergabe) gibt es?

Einstiegspunkte können z.B. die zweiteilige Serie über OAuth2 von Oose sein:

Oder die Spezifikaiton von OAuth in dem entsprechenden Request for Comments (RFC):

Aufgabe

Erstelle für die oben beschriebene Authentifizierung mit OAuth ein UML-Sequenzdiagramm mit den Lebenslinien für alle identifizierten Akteure!

Beispiellösung

UML-Sequenzdiagramm für OAuth2
UML-Sequenzdiagramm für OAuth2

Weitere Übungsaufgaben

Es gibt hier im Blog noch ein Tutorial zur Erstellung von UML-Sequenzdiagrammen mit PlantUML sowie eine Reihe Übungsaufgaben zu Sequenzdiagrammen: Nachrichtfluss von MQTT-Projekten / Authentifizierung mit Passkeys / Authentifizierung mit OAuth2 sowie kleinere Übungsaufgaben


Hinweis zur Nachnutzung als Open Educational Resource (OER)

Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: Authentifizieren mit OAuth2 (UML-Sequenzdiagramm Übungsaufgabe)” von Hannes Stein, Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/uml-sequenzdiagramm-uebung-oauth2 veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/uml/umlsequenz. Stand: 28.02.2025.

[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: