50 lines
984 B
Markdown
50 lines
984 B
Markdown
# AuthApi document shapes
|
|
|
|
This service expects JSON request bodies for its auth endpoints and stores user
|
|
documents in MongoDB.
|
|
|
|
Inbound JSON documents
|
|
- RegisterRequest (`POST /api/auth/register`)
|
|
```json
|
|
{
|
|
"username": "string",
|
|
"password": "string",
|
|
"email": "string (optional)"
|
|
}
|
|
```
|
|
- LoginRequest (`POST /api/auth/login`)
|
|
```json
|
|
{
|
|
"username": "string",
|
|
"password": "string"
|
|
}
|
|
```
|
|
- RefreshRequest (`POST /api/auth/refresh`)
|
|
```json
|
|
{
|
|
"username": "string",
|
|
"refreshToken": "string"
|
|
}
|
|
```
|
|
- ChangeRoleRequest (`POST /api/auth/role`)
|
|
```json
|
|
{
|
|
"username": "string",
|
|
"newRole": "USER | SUPER"
|
|
}
|
|
```
|
|
|
|
Stored documents (MongoDB)
|
|
- User
|
|
```json
|
|
{
|
|
"id": "string (ObjectId)",
|
|
"username": "string",
|
|
"passwordHash": "string",
|
|
"role": "USER | SUPER",
|
|
"email": "string (optional)",
|
|
"refreshToken": "string (optional)",
|
|
"refreshTokenExpiry": "string (optional, ISO-8601 datetime)"
|
|
}
|
|
```
|