Authentication
Onze API maakt gebruik van API keys voor de authenticatie. Voor deze key maken wij gebruik van Base64.
Het verkrijgen van een API Key.
De API Key wordt toegewezen aan de gebruiker tijdens het inloggen. Voor het verkrijgen van een API Key moet er een bestaand email adres en wachtwoord worden meegestuurd. Met deze API Key kan de gebruiker alleen bij zijn data en niet bij dat van een ander.
POST api/v1/auth
Bij een POST
naar /api/v1/auth
word de gebruiker ingelogt. Hierbij moet een email
-veld en een password
-veld meegestuurd worden. Tijdens het inloggen krijgt de gebruiker een API Key toegewezen, zodat de gebruiker alleen bij zijn eigen data kan.
Example request
POST http://localhost:3000/api/v1/auth
email: [email protected]
password: test123
Field | Value |
---|---|
test123 | [email protected] |
password | test123 |
Example response:
Status: HTTP/1.1 202 Accepted
[
{
"user": {
"id": 1,
"email": "[email protected]",
"first_name": "Henk",
"last_name": "Serious",
"full_name": "Henk Serious",
"api_key": "L0tluWnYVKzUCHKKQZQ4xAtt"
}
}
]
Errors:
Als er geen email
meegestuurd wordt, krijg je de volgende informatie terug:
{
"error": "Incorrect e-mail or password"
}
Status: HTTP/1.1 401 Unauthorized
Als er geen password
meegestuurd wordt, krijg je de volgende informatie terug:
{
"error": "Incorrect e-mail or password"
}
Status: 401 Unauthorized
DELETE api/v1/auth/sign_out
Bij een DELETE
naar api/v1/auth/sign_out wordt de user uit de database opgezocht op basis van de API Key die gegeven is bij het inloggen. De toegewezen API key wordt bij het uitvoeren van DELETE
op nil
gezet
Example request
DELETE `http://localhost:3000/api/v1/auth/sign_out`
Successfully logged out
Field | Value |
---|---|
api_key | L0tluWnYVKzUCHKKQZQ4xAtt |
Example response:
Status: HTTP/1.1 HTTP/1.1 200 OK
{
"message": "Successfully logged out"
}