{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://www.espocrm.com/schema/metadata/app/authentication.json", "title": "app/authentication", "description": "Authentication definitions.", "type": "object", "properties": { "beforeLoginHookClassNameList": { "type": "array", "items": { "anyOf": [ {"type": "string"}, {"enum": ["__APPEND__"]} ] }, "description": "Array of hook class names. Fired before logging in before credentials are checked. Should implement Espo\\Core\\Authentication\\Hook\\BeforeLogin interface. Important: Need to have __APPEND__ item in the beginning of the array when extending." }, "onFailHookClassNameList": { "type": "array", "items": { "anyOf": [ {"type": "string"}, {"enum": ["__APPEND__"]} ] }, "description": "Array of hook class names. Fired once logging in is failed. Should implement Espo\\Core\\Authentication\\Hook\\OnResult interface. Important: Need to have __APPEND__ item in the beginning of the array when extending." }, "onSuccessHookClassNameList": { "type": "array", "items": { "anyOf": [ {"type": "string"}, {"enum": ["__APPEND__"]} ] }, "description": "Array of hook class names. Fired once logging in is success (not by auth token). Should implement Espo\\Core\\Authentication\\Hook\\OnResult interface. Important: Need to have __APPEND__ item in the beginning of the array when extending." }, "onSuccessByTokenHookClassNameList": { "type": "array", "items": { "anyOf": [ {"type": "string"}, {"enum": ["__APPEND__"]} ] }, "description": "Array of hook class names. Fired once logging in by a token is success. Should implement Espo\\Core\\Authentication\\Hook\\OnResult interface. Important: Need to have __APPEND__ item in the beginning of the array when extending." }, "onSecondStepRequiredHookClassNameList": { "type": "array", "items": { "anyOf": [ {"type": "string"}, {"enum": ["__APPEND__"]} ] }, "description": "Array of hook class names. Fired once first step is success and second step is required. Should implement Espo\\Core\\Authentication\\Hook\\OnResult interface. Important: Need to have __APPEND__ item in the beginning of the array when extending." } } }