Zum Inhalt springen
MultiBaseCS Hilfe
Esc
↑↓navigieren↵öffnen⌘Jvorschau
Auf dieser Seite

Authentifizierung

Zugriffstoken über OpenID Connect holen, erneuern und die Sitzung beenden.

Die GraphQL-API verwendet OpenID Connect zur Anmeldung und Berechtigung. Für jeden Zugriff benötigen Sie ein Zugriffstoken vom Anmeldeserver.

Der OpenID-Connect-Endpunkt lautet:

https://auth.34u.de/realms/multibasecs/protocol/openid-connect/

1. Zugriffstoken holen

Das Token holen Sie am Token-Endpunkt:

POST https://auth.34u.de/realms/multibasecs/protocol/openid-connect/token

Parameter Wert
grant_type password
scope openid
client_id Client-ID Ihrer Anwendung
client_secret Client-Secret Ihrer Anwendung
username Benutzername des MultiBaseCS-Benutzerkontos
password Kennwort des MultiBaseCS-Benutzerkontos
curl --request POST \
  --url https://auth.34u.de/realms/multibasecs/protocol/openid-connect/token \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data 'grant_type=password&client_id=<client-id>&client_secret=<client-secret>&scope=openid&username=<benutzername>&password=<kennwort>'

Antwort:

{
  "access_token": "<zugriffstoken>",
  "expires_in": 300,
  "refresh_token": "<aktualisierungstoken>",
  "token_type": "Bearer",
  "scope": "openid"
}

2. Die API aufrufen

Geben Sie das Zugriffstoken bei jeder Anfrage im Header Authorization mit:

curl --request POST \
  --url https://api.multibasecs.de/graphql \
  --header 'Authorization: Bearer <zugriffstoken>' \
  --header 'Content-Type: application/json' \
  --data '{"query":"query { Clouds { ID_Cloud Bezeichnung } }"}'

3. Token erneuern

Zugriffstoken sind nur wenige Minuten gültig (expires_in in Sekunden). Damit sich Ihre Anwendung nicht ständig neu anmelden muss, holen Sie mit dem refresh_token ein neues Zugriffstoken:

curl --request POST \
  --url https://auth.34u.de/realms/multibasecs/protocol/openid-connect/token \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data 'grant_type=refresh_token&client_id=<client-id>&client_secret=<client-secret>&refresh_token=<aktualisierungstoken>'

4. Abmelden

Um die Sitzung zu beenden, widerrufen Sie das Aktualisierungstoken:

curl --request POST \
  --url https://auth.34u.de/realms/multibasecs/protocol/openid-connect/logout \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data 'client_id=<client-id>&client_secret=<client-secret>&refresh_token=<aktualisierungstoken>'

Fehler

Fall Code in extensions.code
Kein oder ungültiges Token UNAUTHENTICATED (HTTP 401)
Gültiges Token, aber keine Berechtigung für die angefragten Daten FORBIDDEN (HTTP 403)

Beispiel:

{
  "errors": [
    {
      "message": "Unauthorized",
      "path": ["Clouds"],
      "extensions": { "code": "UNAUTHENTICATED" }
    }
  ],
  "data": null
}

Zuletzt aktualisiert am