3 min citit | Actualizat 09 Mar 2021 | Categorie API | User AvatarAlin Ionut

Authentication

Hello World Developers! Main API Documentation is available at https://docs.bitcanuck.ca/api.

All private endpoint are protected by Authentication mechanism, where User or Platform must provide Authorization Header in order to access the resource.

Authorization Header

Authorization: Bearer <token>


BitCanuck provide 2 types of Authentication mechanisms:

1. User Authentication

In this case, user must hit POST: /api/v1/authenticate endpoint with required parameters in order to receive User ID and ID (Token), required for later authorization for private endpoints.

Request Payload

{
  "email": "john@email.com",
  "password": "xxxxxxxx"
}

Request Response

{
  "data": {
    "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "ttl": 1209600,
    "until": "2020-10-02T10:48:35.753516Z",
    "created": "2020-09-18T10:48:35.753560Z"
  }
}

2. Platform Authentication

In this case, platform must hit POST: /api/v1/authenticate-jwt/{platform} endpoint with required parameters in order to receive User ID and ID (Token), required for later authorization for private endpoints.

This endpoint do not require any payload, except the Token: <token> Header, that will be generated using provided Platform details.

Request Token Payload (RS512 encrypted with JWT Public and private)

{
  "email": "john@email.com",
  "expire": 123456789
}

Request Response

{
  "data": {
    "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "userId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "ttl": 1209600,
    "until": "2020-10-02T10:48:35.753516Z",
    "created": "2020-09-18T10:48:35.753560Z"
  }
}

Response Payload

Property Details
id Represents the Bearer <token> that will be used to authorize requests on protected endpoints
userId Represents the User ID that will be used on all protected endpoints
ttl Represents seconds of Bearer <token> availability
until Represents the Date until the Bearer <token> is valid
created Represents the Date the TokenBearer <token> was created

If this do not answer your questions, please do not hesitate to contact us!

Mergi Sus