OAuth 2

Verwenden Sie DTZ Identity als Ihren OAuth 2.0- und OpenID Connect (OIDC)-Provider, damit sich Benutzer mit ihren DTZ-Konten in Ihren Anwendungen anmelden können.

Was ist OIDC?

OpenID Connect (OIDC) ermöglicht es Ihrer Anwendung, Benutzer über DTZ Identity zu authentifizieren, ohne Passwörter direkt zu verarbeiten. Anstatt Benutzeranmeldeinformationen zu verwalten, leiten Sie Benutzer zur Anmeldung an DTZ weiter und erhalten dann ein sicheres Token, um auf ihre Informationen zuzugreifen.

Ideal für: Web-Apps, mobile Apps oder jeden Dienst, der eine sichere Benutzer-Authentifizierung benötigt.

Schnellstart

1. Holen Sie Ihre Context-ID

In DTZ verwendet jede Anwendung einen “context” als Bezeichner. Sie benötigen eine context-{uuid}, auf die Ihre Benutzer Zugriff haben.

Beispiel: context-abc123

Hinweis: Im System von DTZ sind sowohl Ihr client_id als auch Ihr client_secret die gleiche Context-ID. Das vereinfacht die Einrichtung und gewährleistet gleichzeitig Sicherheit.

2. Wesentliche Endpunkte

Sie benötigen nur diese beiden Endpunkte, um zu starten:

Zweck Endpoint
Benutzeranmeldung https://identity.dtz.rocks/api/2021-02-21/oauth/authorize
Token abrufen https://identity.dtz.rocks/api/2021-02-21/oauth/token
Benutzerinformationen https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo

3. Automatische Erkennung

Die meisten OAuth-Bibliotheken können sich mithilfe des Discovery-Endpunkts von DTZ automatisch konfigurieren:

https://identity.dtz.rocks/.well-known/openid-configuration

So funktioniert es

Schritt 1: Benutzer zu DTZ umleiten

Wenn sich ein Benutzer anmelden möchte, leiten Sie ihn weiter zu:

https://identity.dtz.rocks/api/2021-02-21/oauth/authorize?
  response_type=code&
  client_id=YOUR_CONTEXT_ID&
  redirect_uri=https://yourapp.com/callback&
  scope=openid&
  state=random-string-for-security

Schritt 2: Benutzer meldet sich an

DTZ übernimmt den Anmeldevorgang:

  • Ist bereits angemeldet → sofortige Weiterleitung zurück zu Ihrer App
  • Ist nicht angemeldet → zeigt das Anmeldeformular, dann Weiterleitung zurück

Schritt 3: Code gegen Token austauschen

DTZ leitet mit einem Code zurück zu Ihrer App. Tauschen Sie ihn gegen ein Token ein:

curl -X POST https://identity.dtz.rocks/api/2021-02-21/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code" \
  -d "client_id=YOUR_CONTEXT_ID" \
  -d "client_secret=YOUR_CONTEXT_ID" \
  -d "redirect_uri=https://yourapp.com/callback" \
  -d "code=THE_CODE_FROM_REDIRECT"

Schritt 4: Benutzerinformationen abrufen

Verwenden Sie das Access-Token, um Benutzerdetails abzurufen:

curl -X GET https://identity.dtz.rocks/api/2021-02-21/oauth/userinfo \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Antwort:

{
  "sub": "identity-12345678",
  "iss": "dtz.rocks",
  "contexts": ["abc124"],
  "roles": ["https://dtz.rocks/context/admin/abc123..."]
}