Die Passwortauthentifizierung kann zum initialen Login verwendet werden. Hierbei werden der API Benutzername und Kennwort eines brandbox-Benutzers übergeben.
Der brandbox Benutzer benötigt eine Rolle die berechtigt ist auf brandbox zuzugreifen: Checkbox mit "Zugriff auf die REST API erlauben".
Hieraus wird ein Zugriffs- sowie ein Aktualisierungstoken erzeugt.
Der Zugriffstoken ist das Geheimnis welches Anfragen an den REST Service autorisiert.
Status | colour | Grey|
---|---|---|
|
Access-Token via Aktualisierungstoken
Codeblock | ||||
---|---|---|---|---|
| ||||
POST $YOUR_DOMAIN_URL/rest/v4/accessToken Content-Type:application/x-www-form-urlencoded grant_type=password&client_id=$CLIENT_ID&client_secret=-&username=$USERNAME&password=$PASSWORD |
Beispiel für eine PHP Implementation
Codeblock | ||||
---|---|---|---|---|
| ||||
/** * @param $username * @param $password * * @return bool|string */ private function getAccessToken($username, $password) { $response = false; $curl = curl_init(); $headers = [ 'Content-Type' => 'application/x-www-form-urlencoded' ]; $config = [ 'grant_type' => 'password', 'client_id' => 1, 'client_secret' => 'secret', 'username' => $username, 'password' => $password ]; try { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, '$YOUR_DOMAIN_URL/rest/v4/accessToken'); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($config)); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); } catch(\Exception $exception) { $response = $exception->getMessage(); } finally { curl_close($curl); } curl_close($curl); return $response; } | ||||
Codeblock | ||||
language | js | theme | RDarktitle |
Beispiel-Response
Codeblock | |||
---|---|---|---|
| |||
{ "code":0, "message":"Success", "body":{ "token_type":"Bearer", // steht für die Token-Authentifizierung "expires_in":2591999, // Gültigkeit des Zugriffstokens in Sekunden "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImJhZGJlZDY0NTM3NThlNGI5MTA4MDNhODJlMTEzOTc4MzY4NjhiMDZlOGZiZDcwYjY4M2RlOTcwNTQzNzYzYWMxYTQzMmQxMGYxZTQ3YzI4In0.eyJhdWQiOiIxIiwianRpIjoiYmFkYmVkNjQ1Mzc1OGU0YjkxMDgwM2E4MmUxMTM5NzgzNjg2OGIwNmU4ZmJkNzBiNjgzZGU5NzA1NDM3NjNhYzFhNDMyZDEwZjFlNDdjMjgiLCJpYXQiOjE1NTkwNjE2NjMsIm5iZiI6MTU1OTA2MTY2MywiZXhwIjoxNTU5MDY1MjYzLCJzdWIiOiJhZG1pbmlzdHJhdG9yLTMiLCJzY29wZXMiOltdfQ.v1r5DbsKjMildnMzSdFJ-EtYPhgL8Hc-zMZXJUKr_RVcZOAFakzYmmKg6IsqYZpYewSBlf57AC-REd8BkfwhYDb9hSvERQ0fGmaPpR_VPPhUH0uuIZftbKco1p-r2rxpCgFVpAgkUGf9bu6gnpwD4tgbB_FCDbaS_UC-p6zQQbaKJl_3fb7hq3DcAYcsPbQ8WI6L9he8UTa_nS5s-OekHpJbiVl6hhmRm9N5zs-_W4DoNy8bjha29UQWsOB5FMkLawgJCq9n8_IGOaewjQTeQ90p6FKRHiudSjC9o8m64VZi3lVJtf-ffD73_ePfybKe26gSGJxpxuaGCgcMstWHZQ", // Zugriffstoken "refresh_token":"def5020086adf01c24bb5b10f4576e222e9fd90602ae584710b87925d351f5fe9115d7b538b00f8065867c1fec333804c5379177da16595c338aefc2eb11d4c1c092d3775b73505ab739feca2b8fc2a045c7b25b6f5ddfee6e7b6999b27f1410bed1247313272be259695c0d3fc9d51a4075d58acc898df9e67a92b20a4d8348533c117cd3921418ac3bbf584808af66f5c1551501cce9b1f03b36875fe2d8bddbd9bcdc9650d828c763e347740eccc8c11fd9811908f74f6d8c89ae87edfac4c4f996a2cdeb390b03037451f5e3cb8c86eee00a27c53f71101f3bb6873f580fcb5ab7bf74c97cf3fee8c3706a8fd38aa44660093bee196a84fef291f25e2e79c5f8b191c0f022bb102cc5107e9a566c22cba9050103990e73c2c053de965109034286ee83161fc0d5c7b6d23036c32bfca48d57c46addc45c84ce641a8dd19c0afa553b1555934b4528bd90e39908a01bb0cb3ae5536600e5178f5a40b1f64b05ed933a91f30f73a1b21381853b25e18f" // Aktualisierungstoken, der zur Verlängerung des Zugriffstokens verwendet werden kann } } |
$YOUR_DOMAIN_URL
Die Ziel Domain auf die angefragt werden soll
$CLIENT_ID
Die Mandanten-ID, auf die die Anfrage nach dem Access-Token validiert werden soll.
$USERNAME
Der Benutzername des brandbox-Benutzers
...