Files
espocrm/schema/metadata/authenticationMethods.json
2025-04-07 17:14:11 +03:00

112 lines
4.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.espocrm.com/schema/metadata/authenticationMethods.json",
"title": "authenticationMethods",
"description": "An authentication method.",
"type": "object",
"properties": {
"api": {
"type": "boolean",
"description": "Defines that the method is to be used for pure API request, not from the front-end."
},
"credentialsHeader": {
"type": "string",
"description": "A header that is supposed to contain credentials. Actual only for API methods."
},
"login": {
"type": "object",
"description": "A framework providing the ability to call custom code on Sign-In button click on the login page.",
"properties": {
"handler": {
"type": "string",
"description": "A front-end class (should extend the abstract class handlers/login)."
},
"fallback": {
"type": "boolean",
"description": "Defines that a regular username/password login method is also available on the login page."
},
"fallbackConfigParam": {
"type": "string",
"description": "A config parameter name to be used to check whether fallback login is allowed."
},
"portal": {
"type": "boolean",
"description": "Whether the handler will be available for portals, (bool)."
},
"portalConfigParam": {
"type": "string",
"description": "A config parameter name to be used to check whether the handler will be available for portals."
},
"data": {
"type": "object",
"additionalProperties": true,
"description": "Arbitrary data to be passed to the handler. Can be actual as application metadata is not yet available on the login page."
}
}
},
"portalDefault": {
"type": "boolean",
"description": "If true, the method will be applied for portals when the method is selected as the default in the settings and the portal does not have a specific authentication provider."
},
"settings": {
"type": "object",
"description": "Defines config parameters and a form on the admin UI.",
"properties": {
"isAvailable": {
"type": "boolean",
"description": "Whether the method is available in the settings."
},
"layout": {
"description": "A layout.",
"$ref": "./../layouts/detail.json#/definitions/panel"
},
"fieldList": {
"description": "Settings fields.",
"type": "array",
"items": {
"type": "string"
}
},
"dynamicLogic": {
"type": "object",
"description": "Dynamic logic.",
"properties": {
"fields": {
"type": "object",
"description": "Fields.",
"additionalProperties": {
"type": "object",
"description": "A field.",
"properties": {
"visible": {
"description": "Conditions making the field visible.",
"$ref": "./logicDefs.json#/definitions/dynamicLogicVisible"
},
"required": {
"$ref": "./logicDefs.json#/definitions/dynamicLogicRequired"
},
"readOnly": {
"$ref": "./logicDefs.json#/definitions/dynamicLogicReadOnly"
},
"invalid": {
"$ref": "./logicDefs.json#/definitions/dynamicLogicInvalid"
}
}
}
}
}
}
}
},
"provider": {
"type": "object",
"properties": {
"isAvailable": {
"type": "boolean",
"description": "Whether is available in the Authentication Provider entity."
}
}
}
}
}