UNPKG

@webda/hawk

Version:

Implements Hawk on webda

233 lines 6.11 kB
{ "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" } } }