@webda/hawk
Version:
Implements Hawk on webda
233 lines • 6.11 kB
JSON
{
"beans": {},
"deployers": {},
"moddas": {
"Webda/Hawk": "lib/hawk:default"
},
"models": {
"graph": {
"Webda/ApiKey": {
"links": [
{
"attribute": "_user",
"model": "Webda/User",
"type": "LINK"
}
]
}
},
"tree": {
"Webda/UuidModel": {
"Webda/OwnerModel": {
"Webda/ApiKey": {}
}
}
},
"plurals": {},
"list": {
"Webda/ApiKey": "lib/apikey:default"
},
"reflections": {
"Webda/ApiKey": {
"name": "string",
"permissions": "{\n GET: string[];\n PUT: string[];\n DELETE: string[];\n POST: string[];\n }",
"algorithm": "string",
"__secret": "string",
"__checker": "(address: string) => boolean",
"origins": "string[]",
"whitelist": "string[]",
"_user": "ModelLink<User>",
"public": "boolean",
"uuid": "string",
"__class": "CoreModelDefinition<this>",
"__type": "string",
"__types": "string[]",
"__ctx": "OperationContext",
"__store": "Store<this>",
"__dirty": "Set<string | symbol>",
"_creationDate": "Date",
"_lastUpdate": "Date",
"__deleted": "boolean"
}
}
},
"schemas": {
"Webda/ApiKey": {
"type": "object",
"properties": {
"_creationDate": {
"type": "string",
"format": "date-time",
"description": "Creation date",
"readOnly": true
},
"_lastUpdate": {
"type": "string",
"format": "date-time",
"description": "Last update date",
"readOnly": true
},
"uuid": {
"type": "string",
"description": "UUID of the object"
},
"_user": {
"type": "string",
"readOnly": true
},
"public": {
"type": "boolean",
"description": "Define if the object is publicly readable",
"default": false
},
"name": {
"type": "string",
"description": "Friendly user name of the key"
},
"permissions": {
"type": "object",
"properties": {
"GET": {
"type": "array",
"items": {
"type": "string"
}
},
"PUT": {
"type": "array",
"items": {
"type": "string"
}
},
"DELETE": {
"type": "array",
"items": {
"type": "string"
}
},
"POST": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"GET",
"PUT",
"DELETE",
"POST"
],
"description": "Retriction on URL to apply to the key\n\nSplit per method, each item of the array contains a regexp to validate the url used"
},
"algorithm": {
"type": "string",
"description": "Algorithm to use with hawk"
},
"origins": {
"type": "array",
"items": {
"type": "string"
},
"description": "Authorize those origins only (regexp)"
},
"whitelist": {
"type": "array",
"items": {
"type": "string"
},
"description": "If defined the key is only usable from these ips\n\nSupport of DNS is not yet ready"
}
},
"required": [
"algorithm",
"name",
"uuid"
],
"description": "Api Key to use with hawk",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "ApiKey"
},
"Webda/BinaryFile": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"description": "Will be computed by the service\n\nhash of the content"
},
"challenge": {
"type": "string",
"description": "Will be computed by the service\n\nhash of the content prefixed by 'WEBDA'"
},
"size": {
"type": "number",
"description": "Size of the binary"
},
"name": {
"type": "string",
"description": "Current name"
},
"mimetype": {
"type": "string",
"description": "Mimetype of the binary"
},
"metadata": {
"description": "Metadatas stored along with the binary"
},
"originalname": {
"type": "string",
"description": "Original name"
}
},
"required": [
"mimetype",
"name",
"size"
],
"description": "Represent a file to store",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BinaryFile"
},
"Webda/Hawk": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Type of the service"
},
"url": {
"type": "string",
"description": "URL on which to serve the content"
},
"keyModel": {
"type": "string",
"description": "Key model"
},
"dynamicSessionKey": {
"type": "string",
"description": "If specified will verify the signature match the key store in session"
},
"redirectUrl": {
"type": "string",
"description": "redirect endpoint"
},
"redirectUris": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowed redirection with CSRF"
},
"openapi": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"type"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "HawkService"
}
}
}