Indentificatie & Authenticatie Token aanvraag

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 Authorisatie

Voor 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.

Voorbeeld (Bash):

    $  curl -X GET "https://api.workspace.nl/api/v1/auth.json" --user "demo@workspace.nl:demodemo"
                
Voorbeeld (PHP):

    $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);
        
Voorbeeld reactie(JSON):
{
    "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
            }
        }
    }
}
Reponse velden
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 Verversen

Als de token bijna verlopen is, kan de token ververst worden. De reden dat tokens verlopen heeft te maken me beveiliging.

Voorbeeld (Bash):

    $  curl -X PUT "https://api.workspace.nl/api/v1/auth.json" --user "token:q3=d5h9-42ocbrl8@7vj"
        
Response velden
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 Vernietigen

De 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.

Voorbeeld (Bash):

    $  curl -X DELETE "https://api.workspace.nl/api/v1/auth.json" --user "token:q3=d5h9-42ocbrl8@7vj"