Simple Golang Authentication service (1.0.0)

Download OpenAPI specification:Download

Authentication service that uses JWT refresh and access tokens to authenticate users

v1

Version 1 of the API

healthCheckV1

Checks if the server is healthy

Responses

LoginUserV1

Logins user

query Parameters
username
string
Example: username=CyberTea
password
string
Example: password=qwerty123
email
string
Example: email=example@example.com
device_id
integer (DeviceId)
Example: device_id=1

The device ID must be unique for each device the user uses.

Responses

Response samples

Content type
application/json
{
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDc3NTg2MzQsInVzZXJfaWQiOjEsInJvbGVzIjpbInRlc3QiXX0.9tg2uUko5C4-CAb3QFsnPghgLDsuqDGaX2BMzqJzlMI",
  • "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDA0MTQyODAsInRva2VuX2lkIjoxLCJkZXZpY2VfaWQiOjEyMywidXNlcl9pZCI6MSwicm9sZXMiOlsidGVzdCJdfQ.SGNTo9SgPxB-db1COU0I5C2DZ8BRV2mHr0zAZrrizHU",
  • "expires_at": 1708770828470,
  • "roles": [
    ]
}

RefreshTokenV1

Refreshes JWT refresh token, giving new pair of tokens

query Parameters
token
string (RefreshToken)
Example: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDA0MTQyODAsInRva2VuX2lkIjoxLCJkZXZpY2VfaWQiOjEyMywidXNlcl9pZCI6MSwicm9sZXMiOlsidGVzdCJdfQ.SGNTo9SgPxB-db1COU0I5C2DZ8BRV2mHr0zAZrrizHU

Refresh token. You can get one if you login or refresh

Responses

Response samples

Content type
application/json
{
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDc3NTg2MzQsInVzZXJfaWQiOjEsInJvbGVzIjpbInRlc3QiXX0.9tg2uUko5C4-CAb3QFsnPghgLDsuqDGaX2BMzqJzlMI",
  • "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDA0MTQyODAsInRva2VuX2lkIjoxLCJkZXZpY2VfaWQiOjEyMywidXNlcl9pZCI6MSwicm9sZXMiOlsidGVzdCJdfQ.SGNTo9SgPxB-db1COU0I5C2DZ8BRV2mHr0zAZrrizHU",
  • "expires_at": 1708770828470
}

IsAuthV1

Checks if user is authenticated and token is valid

header Parameters
Authorization
string (AccessToken)
Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDc3NTg2MzQsInVzZXJfaWQiOjEsInJvbGVzIjpbInRlc3QiXX0.9tg2uUko5C4-CAb3QFsnPghgLDsuqDGaX2BMzqJzlMI

Authorization token. You can get one if you login or refresh

Responses

Response samples

Content type
application/json
Example
{
  • "error": "token expired"
}

GuestRegisterV1

Asks another service to create guest user and returns pair of tokens

Request Body schema: application/json
name
string
device_id
integer (DeviceId)

The device ID must be unique for each device the user uses.

Responses

Request samples

Content type
application/json
{
  • "name": "Dulin Ivan Ivanovitch",
  • "device_id": 1
}

Response samples

Content type
application/json
{
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDc3NTg2MzQsInVzZXJfaWQiOjEsInJvbGVzIjpbInRlc3QiXX0.9tg2uUko5C4-CAb3QFsnPghgLDsuqDGaX2BMzqJzlMI",
  • "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDA0MTQyODAsInRva2VuX2lkIjoxLCJkZXZpY2VfaWQiOjEyMywidXNlcl9pZCI6MSwicm9sZXMiOlsidGVzdCJdfQ.SGNTo9SgPxB-db1COU0I5C2DZ8BRV2mHr0zAZrrizHU",
  • "expires_at": 1708770828470
}