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.
POST
Access-Token via Aktualisierungstoken
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
/** * @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; }
$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
$PASSWORD
Das Passwort des brandbox-Benutzers