❯ grpcurl -plaintext -d '{
  "username": "testuser3",
  "email": "test3@example.com",
  "password": "your_password",
  "password_confirmation": "your_password"
}' localhost:50051 multieko2.auth.AuthService/Register
{
  "id": "96d2fd35-b39d-4c05-916a-66134453d34c",
  "username": "testuser3",
  "email": "test3@example.com",
  "role": "accountant"
}
❯ grpcurl -plaintext -d '{
  "identifier": "testuser3"
}' localhost:50051 multieko2.auth.AuthService/Login
ERROR:
  Code: Unauthenticated
  Message: Invalid credentials
❯ grpcurl -plaintext -d '{
  "identifier": "testuser3",
  "password": "your_password"
}' localhost:50051 multieko2.auth.AuthService/Login
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI5NmQyZmQzNS1iMzlkLTRjMDUtOTE2YS02NjEzNDQ1M2QzNGMiLCJleHAiOjE3NDI5ODE2MTAsInJvbGUiOiJhY2NvdW50YW50In0.78VIR3X4QZohzeI5x3xmkmqcICTusOC6PELPohMV-k8",
  "tokenType": "Bearer",
  "expiresIn": 86400,
  "userId": "96d2fd35-b39d-4c05-916a-66134453d34c",
  "role": "accountant"
}
❯ grpcurl -plaintext -d '{
  "username": "testuser4",
  "email": "test4@example.com"
}' localhost:50051 multieko2.auth.AuthService/Register
{
  "id": "413d7ecc-f231-48af-8c5a-566b1dc2bf0b",
  "username": "testuser4",
  "email": "test4@example.com",
  "role": "accountant"
}
❯ grpcurl -plaintext -d '{
  "identifier": "test4@example.com"
}' localhost:50051 multieko2.auth.AuthService/Login
{
  "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI0MTNkN2VjYy1mMjMxLTQ4YWYtOGM1YS01NjZiMWRjMmJmMGIiLCJleHAiOjE3NDI5ODE3MDEsInJvbGUiOiJhY2NvdW50YW50In0.4Hzu3tTZRNGHnBSgeCbGy2tFTl8EzpPdXBhcW8kuIc8",
  "tokenType": "Bearer",
  "expiresIn": 86400,
  "userId": "413d7ecc-f231-48af-8c5a-566b1dc2bf0b",
  "role": "accountant"
}
╭─     ~/Doc/pr/multieko2/server     auth ······ ✔
╰─
