Het authenticatie proces bestaat uit twee onderdelen, eerst volgt een authorisatie process waarbij middels een HTTP Basic Auth wordt ingelogd. Dit process geeft een token die in de beveiligde onderdelen nodig is. De token authenticatie vind ook plaats middels een Basic HTTP Auth.
GET
AuthorisatieVoor het verkrijgen van een token maak je gebruik van HTTP Basic Auth. Stel een GET
aanvraag
op en maak gebruik van HTTP Basic Auth. Verstuur de aanvraag naar https://api.workspace.nl/api/v1/auth.json
.
$ curl -X GET "https://api.workspace.nl/api/v1/auth.json" --user "demo@workspace.nl:demodemo"
$ch = curl_init();
$headers = array(
'Accept: application/json',
'Content-Type: application/json',
);
curl_setopt($ch, CURLOPT_URL, 'https://api.workspace.nl/api/v1/auth.json');
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "demo@workspace.nl:demodemo");
$result = curl_exec ($ch);
curl_close ($ch);
{
"response": {
"message": "Success",
"exception": [],
"code": 200,
"data": {
"token": "gvsmblu6jcq#3@9e82kf",
"expire_timestamp": "1432106104",
"user_id": "999",
"client_id": "123",
"client_name": "ABC Schilders B.V.",
"full_name": "Jan de Klaassen",
"permissions": [
"contacts.read",
"contacts.write",
"invoices.read",
"invoices.write",
"invoices.payments",
".."
],
"preferences": {
"ticket_default_rate": 5.55
}
}
}
}
Veld | Beschrijving |
---|---|
token |
De token voor het gebruik in de beveiligde omgeving. |
expire_timestamp |
De UNIX timestamp geeft de verval datum van de token aan. |
PUT
Token VerversenAls de token bijna verlopen is, kan de token ververst worden. De reden dat tokens verlopen heeft te maken me beveiliging.
$ curl -X PUT "https://api.workspace.nl/api/v1/auth.json" --user "token:q3=d5h9-42ocbrl8@7vj"
Veld | Beschrijving |
---|---|
token |
De token voor het gebruik in de beveiligde omgeving. |
expire_timestamp |
De UNIX timestamp geeft de verval datum van de token aan. |
DELETE
Token VernietigenDe token kan via een delete request verwijderd worden. Dit zorgt ervoor dat de token verwijderd wordt uit het systeem. De token is hierna niet meer te gebruiken. Dit is een uitlog mogelijkheid.
$ curl -X DELETE "https://api.workspace.nl/api/v1/auth.json" --user "token:q3=d5h9-42ocbrl8@7vj"