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"
}