60 lines
3.7 KiB
JSON
60 lines
3.7 KiB
JSON
{
|
|
"module": "mail_intake.auth.base",
|
|
"content": {
|
|
"path": "mail_intake.auth.base",
|
|
"docstring": "# Summary\n\nAuthentication provider contracts for Mail Intake.\n\nThis module defines the **authentication abstraction layer** used by mail\nadapters to obtain provider-specific credentials.\n\nAuthentication concerns are intentionally decoupled from adapter logic.\nAdapters depend only on this interface and must not be aware of how\ncredentials are acquired, refreshed, or persisted.",
|
|
"objects": {
|
|
"ABC": {
|
|
"name": "ABC",
|
|
"kind": "alias",
|
|
"path": "mail_intake.auth.base.ABC",
|
|
"signature": "<bound method Alias.signature of Alias('ABC', 'abc.ABC')>",
|
|
"docstring": null
|
|
},
|
|
"abstractmethod": {
|
|
"name": "abstractmethod",
|
|
"kind": "alias",
|
|
"path": "mail_intake.auth.base.abstractmethod",
|
|
"signature": "<bound method Alias.signature of Alias('abstractmethod', 'abc.abstractmethod')>",
|
|
"docstring": null
|
|
},
|
|
"Generic": {
|
|
"name": "Generic",
|
|
"kind": "alias",
|
|
"path": "mail_intake.auth.base.Generic",
|
|
"signature": "<bound method Alias.signature of Alias('Generic', 'typing.Generic')>",
|
|
"docstring": null
|
|
},
|
|
"TypeVar": {
|
|
"name": "TypeVar",
|
|
"kind": "alias",
|
|
"path": "mail_intake.auth.base.TypeVar",
|
|
"signature": "<bound method Alias.signature of Alias('TypeVar', 'typing.TypeVar')>",
|
|
"docstring": null
|
|
},
|
|
"T": {
|
|
"name": "T",
|
|
"kind": "attribute",
|
|
"path": "mail_intake.auth.base.T",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"MailIntakeAuthProvider": {
|
|
"name": "MailIntakeAuthProvider",
|
|
"kind": "class",
|
|
"path": "mail_intake.auth.base.MailIntakeAuthProvider",
|
|
"signature": "<bound method Class.signature of Class('MailIntakeAuthProvider', 20, 68)>",
|
|
"docstring": "Abstract base class for authentication providers.\n\nThis interface enforces a strict contract between authentication\nproviders and mail adapters by requiring providers to explicitly\ndeclare the type of credentials they return.\n\nNotes:\n **Responsibilities:**\n\n - Acquire credentials from an external provider.\n - Refresh or revalidate credentials as needed.\n - Handle authentication-specific failure modes.\n - Coordinate with credential persistence layers where applicable.\n\n **Constraints:**\n\n - Mail adapters must treat returned credentials as opaque and\n provider-specific.\n - Mail adapters rely only on the declared credential type expected\n by the adapter.",
|
|
"members": {
|
|
"get_credentials": {
|
|
"name": "get_credentials",
|
|
"kind": "function",
|
|
"path": "mail_intake.auth.base.MailIntakeAuthProvider.get_credentials",
|
|
"signature": "<bound method Function.signature of Function('get_credentials', 44, 68)>",
|
|
"docstring": "Retrieve valid, provider-specific credentials.\n\nReturns:\n T:\n Credentials of type `T` suitable for immediate use by the\n corresponding mail adapter.\n\nRaises:\n Exception:\n An authentication-specific exception indicating that\n credentials could not be obtained or validated.\n\nNotes:\n **Guarantees:**\n\n - This method is synchronous by design.\n - Represents the sole entry point through which adapters obtain\n authentication material.\n - Implementations must either return credentials of the declared\n type `T` that are valid at the time of return or raise an exception."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |