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"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
}
|