bb0f4bfa62
* Fix wrapping when too many hosts are shown (#207) * Update npm packages, fixes CVE-2019-10757 * Revert some breaking packages * Major overhaul - Docker buildx support in CI - Cypress API Testing in CI - Restructured folder layout (insert clean face meme) - Added Swagger documentation and validate API against that (to be completed) - Use common base image for all supported archs, which includes updated nginx with ipv6 support - Updated certbot and changes required for it - Large amount of Hosts names will wrap in UI - Updated packages for frontend - Version bump 2.1.0 * Updated documentation * Fix JWT expire time going crazy. Now set to 1day * Backend JS formatting rules * Remove v1 importer, I doubt anyone is using v1 anymore * Added backend formatting rules and enforce them in Jenkins builds * Fix CI, doesn't need a tty * Thanks bcrypt. Why can't you just be normal. * Cleanup after syntax check Co-authored-by: Marcelo Castagna <margaale@users.noreply.github.com>
101 lines
2.4 KiB
JSON
101 lines
2.4 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "endpoints/tokens",
|
|
"title": "Token",
|
|
"description": "Tokens are required to authenticate against the API",
|
|
"stability": "stable",
|
|
"type": "object",
|
|
"definitions": {
|
|
"identity": {
|
|
"description": "Email Address or other 3rd party providers identifier",
|
|
"example": "john@example.com",
|
|
"type": "string"
|
|
},
|
|
"secret": {
|
|
"description": "A password or key",
|
|
"example": "correct horse battery staple",
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"description": "JWT",
|
|
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk",
|
|
"type": "string"
|
|
},
|
|
"expires": {
|
|
"description": "Token expiry time",
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"scope": {
|
|
"description": "Scope of the Token, defaults to 'user'",
|
|
"example": "user",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"links": [
|
|
{
|
|
"title": "Create",
|
|
"description": "Creates a new token.",
|
|
"href": "/tokens",
|
|
"access": "public",
|
|
"method": "POST",
|
|
"rel": "create",
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"identity",
|
|
"secret"
|
|
],
|
|
"properties": {
|
|
"identity": {
|
|
"$ref": "#/definitions/identity"
|
|
},
|
|
"secret": {
|
|
"$ref": "#/definitions/secret"
|
|
},
|
|
"scope": {
|
|
"$ref": "#/definitions/scope"
|
|
}
|
|
}
|
|
},
|
|
"targetSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"$ref": "#/definitions/token"
|
|
},
|
|
"expires": {
|
|
"$ref": "#/definitions/expires"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"title": "Refresh",
|
|
"description": "Returns a new token.",
|
|
"href": "/tokens",
|
|
"access": "private",
|
|
"method": "GET",
|
|
"rel": "self",
|
|
"http_header": {
|
|
"$ref": "../examples.json#/definitions/auth_header"
|
|
},
|
|
"schema": {},
|
|
"targetSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"token": {
|
|
"$ref": "#/definitions/token"
|
|
},
|
|
"expires": {
|
|
"$ref": "#/definitions/expires"
|
|
},
|
|
"scope": {
|
|
"$ref": "#/definitions/scope"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|