Actaport API - Authentifizierung
Die Authentifizierung an der Actaport API basiert auf Openid Connect. An der Stelle wird der Client Direct FLow verwendet. Dies bedeutet, dass Sowohl einen Client und einen Benutzer in einer Anfrage authentifiziert werden.
Anfrage zum Auhtentifizieren
Die Anfrage erfolgt als url-form-data
. Folgende Parameter werden benötigt:
Name | Beschreibung |
---|---|
client_id |
Die Id des benutzten Clients |
client_secret |
Das Passwort für den Client |
grant_type |
Definiert wie der Benutzer authentifiziert wird, hier muss immer |
username |
Benutzer der Authentifiziert wird, hier wird die Emailadresse verwendet. |
password |
Passwort des Benutzers |
Die Anfrage soll als POST-Anfrage an die Url https://app.actaport.de/auth/realms/<tenant>/protocol/openid-connect/token.
curl --location 'https://app.actaport.de/auth/realms/<tenant>/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--data-urlencode 'client_id=<clientId>' \
--data-urlencode 'client_secret=<clientSecret>' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'password=<Password>' \
--data-urlencode 'username=<Email>'
{
"access_token": "<accessToken>",
"expires_in": 300,
"refresh_expires_in": 10800,
"refresh_token": "<refreshToken>",
"token_type": "Bearer",
"not-before-policy": 1651569000,
"session_state": "01385398-6126-477e-a892-63d76ab9dcee",
"scope": "profile email"
}
Die Property access_token
enthält den gerbauchten Token.
Der AccessToken ist 5 Minuten gültig. Einen neuen Token kann über den vorher beschriebenen Verfahren erzeugt werden oder über den refreshToken mit folgenden Anfrage.
curl --location 'https://app.actaport.de/auth/realms/<tenant>/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Accept: application/json' \
--data-urlencode 'client_id=<clientId>' \
--data-urlencode 'client_secret=<clientSecret>' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'refresh_token=<refreshToken>'
Benutzen des Access-Tokens
Bei jede weitere Anfrage muss der AccessToken mitgegeben werden.
Das passiert über dem Header Authentication
der als Wert Bearer <accessToken>
bekommt.
curl --location 'https://app.actaport.de/v1/benutzer' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <accessToken>'