- add config.yml as single source of truth for collected repos/categories - add collect.py CLI to pull lib/api/wiki site builds and mcp bundles from source repos and regenerate nginx.conf + _index/index.html - port mcp runtime (main.py/core.py/config.py): nginx + health + FastMCP servers started from config.yml - docker: python:3.13-slim + nginx, expose 8000-8006 + 9000 (html portal) - drone: publish html (6007:9000) and MCP ports 8000-8006 - move mongo-ops docs to wiki/, add auth-server (api) and hexa (lib) - refresh lib site builds (lib/ prefix) and collect mcp bundles
820 lines
42 KiB
JSON
820 lines
42 KiB
JSON
{
|
|
"module": "jwtlib.models",
|
|
"content": {
|
|
"path": "jwtlib.models",
|
|
"docstring": "# Summary\n\n`jwtlib` Models: Structured Data for Authentication.\n\nThis package defines the core data models used by `jwtlib`. These models are\ncategorized into request payloads, response objects, persistence documents,\nand security context.\n\n---\n\n# Model Categories\n\n**API Requests:**\n\n- `RegisterRequest`: Payload for creating new user accounts.\n- `LoginRequest`: User credentials for issuing `JWT`s.\n- `IntrospectRequest`: Internal payload for service-to-service token\n verification.\n\n**API Responses:**\n\n- `PublicUser`: A safe, non-sensitive projection of a user profile.\n- `LoginResponse`: Contains the issued access token and the `PublicUser`.\n- `LogoutResponse`: Instruction for clients to clear stateless session state.\n\n**Internal & Security:**\n\n- `User`: The MongoDB-backed persistence model (Confined to repository layer).\n- `TokenPayload`: Decoded claims from a validated `JWT` (`sub`, `exp`).\n- `IntrospectResponse`: Structured result of a token validity check.\n\n---\n\n# Usage\n\n**Validating an Auth Request:**\n\n```python\nfrom jwtlib.models import LoginRequest\nauth_data = LoginRequest(username=\"tester\", password=\"secure_password\")\n```\n\n**Projecting a User to Public View:**\n\n```python\nfrom jwtlib.models import User, PublicUser\nuser_profile = PublicUser.model_validate(db_user, from_attributes=True)\n```\n\n---\n\n# Public API\n\nThis package re-exports all **validated data models** required by the\nauthentication system. Consumers should import from this namespace\nto ensure type safety and consistency.\n\n- `LoginRequest` / `LoginResponse`\n- `RegisterRequest`\n- `LogoutResponse`\n- `PublicUser`\n- `IntrospectRequest` / `IntrospectResponse`\n- `User` (Persistence)\n- `TokenPayload` (`JWT`)\n\n---",
|
|
"objects": {
|
|
"LoginRequest": {
|
|
"name": "LoginRequest",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.LoginRequest",
|
|
"signature": "<bound method Alias.signature of Alias('LoginRequest', 'jwtlib.models.app.LoginRequest')>",
|
|
"docstring": "Payload for authenticating a user and issuing a `JWT`.\n\nAttributes:\n username (str):\n Username identifier.\n password (str):\n Plain-text password to be verified.",
|
|
"members": {
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LoginRequest.model_config",
|
|
"signature": "<bound method Alias.signature of Alias('model_config', 'jwtlib.models.app.LoginRequest.model_config')>",
|
|
"docstring": null
|
|
},
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LoginRequest.username",
|
|
"signature": "<bound method Alias.signature of Alias('username', 'jwtlib.models.app.LoginRequest.username')>",
|
|
"docstring": null
|
|
},
|
|
"password": {
|
|
"name": "password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LoginRequest.password",
|
|
"signature": "<bound method Alias.signature of Alias('password', 'jwtlib.models.app.LoginRequest.password')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"RegisterRequest": {
|
|
"name": "RegisterRequest",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.RegisterRequest",
|
|
"signature": "<bound method Alias.signature of Alias('RegisterRequest', 'jwtlib.models.app.RegisterRequest')>",
|
|
"docstring": "Payload for registering a new user account.\n\nAttributes:\n username (str):\n Unique username identifier.\n email (EmailStr, optional):\n User's email address.\n password (str):\n Plain-text password (to be hashed by the repository layer).",
|
|
"members": {
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.RegisterRequest.model_config",
|
|
"signature": "<bound method Alias.signature of Alias('model_config', 'jwtlib.models.app.RegisterRequest.model_config')>",
|
|
"docstring": null
|
|
},
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.RegisterRequest.username",
|
|
"signature": "<bound method Alias.signature of Alias('username', 'jwtlib.models.app.RegisterRequest.username')>",
|
|
"docstring": null
|
|
},
|
|
"email": {
|
|
"name": "email",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.RegisterRequest.email",
|
|
"signature": "<bound method Alias.signature of Alias('email', 'jwtlib.models.app.RegisterRequest.email')>",
|
|
"docstring": null
|
|
},
|
|
"password": {
|
|
"name": "password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.RegisterRequest.password",
|
|
"signature": "<bound method Alias.signature of Alias('password', 'jwtlib.models.app.RegisterRequest.password')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"LoginResponse": {
|
|
"name": "LoginResponse",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.LoginResponse",
|
|
"signature": "<bound method Alias.signature of Alias('LoginResponse', 'jwtlib.models.app.LoginResponse')>",
|
|
"docstring": "Response returned after successful authentication.\n\nAttributes:\n access_token (str):\n `JWT` access token for authenticated requests.\n user (PublicUser):\n Public profile of the authenticated user.",
|
|
"members": {
|
|
"access_token": {
|
|
"name": "access_token",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LoginResponse.access_token",
|
|
"signature": "<bound method Alias.signature of Alias('access_token', 'jwtlib.models.app.LoginResponse.access_token')>",
|
|
"docstring": null
|
|
},
|
|
"user": {
|
|
"name": "user",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LoginResponse.user",
|
|
"signature": "<bound method Alias.signature of Alias('user', 'jwtlib.models.app.LoginResponse.user')>",
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LoginResponse.model_config",
|
|
"signature": "<bound method Alias.signature of Alias('model_config', 'jwtlib.models.app.LoginResponse.model_config')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"LogoutResponse": {
|
|
"name": "LogoutResponse",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.LogoutResponse",
|
|
"signature": "<bound method Alias.signature of Alias('LogoutResponse', 'jwtlib.models.app.LogoutResponse')>",
|
|
"docstring": "Response returned after a logout operation.\n\nAttributes:\n message (str):\n Human-readable logout confirmation.",
|
|
"members": {
|
|
"message": {
|
|
"name": "message",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LogoutResponse.message",
|
|
"signature": "<bound method Alias.signature of Alias('message', 'jwtlib.models.app.LogoutResponse.message')>",
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.LogoutResponse.model_config",
|
|
"signature": "<bound method Alias.signature of Alias('model_config', 'jwtlib.models.app.LogoutResponse.model_config')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"PublicUser": {
|
|
"name": "PublicUser",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.PublicUser",
|
|
"signature": "<bound method Alias.signature of Alias('PublicUser', 'jwtlib.models.app.PublicUser')>",
|
|
"docstring": "Public-facing user representation returned by authentication APIs.\n\nAttributes:\n username (str):\n Unique username identifier.\n email (EmailStr, optional):\n User's email address.\n is_active (bool):\n Whether the user account is active.",
|
|
"members": {
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.PublicUser.model_config",
|
|
"signature": "<bound method Alias.signature of Alias('model_config', 'jwtlib.models.app.PublicUser.model_config')>",
|
|
"docstring": null
|
|
},
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.PublicUser.username",
|
|
"signature": "<bound method Alias.signature of Alias('username', 'jwtlib.models.app.PublicUser.username')>",
|
|
"docstring": null
|
|
},
|
|
"email": {
|
|
"name": "email",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.PublicUser.email",
|
|
"signature": "<bound method Alias.signature of Alias('email', 'jwtlib.models.app.PublicUser.email')>",
|
|
"docstring": null
|
|
},
|
|
"is_active": {
|
|
"name": "is_active",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.PublicUser.is_active",
|
|
"signature": "<bound method Alias.signature of Alias('is_active', 'jwtlib.models.app.PublicUser.is_active')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"IntrospectRequest": {
|
|
"name": "IntrospectRequest",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.IntrospectRequest",
|
|
"signature": "<bound method Alias.signature of Alias('IntrospectRequest', 'jwtlib.models.app.IntrospectRequest')>",
|
|
"docstring": "Payload for requesting token introspection.\n\nAttributes:\n token (str):\n `JWT` access token to introspect.",
|
|
"members": {
|
|
"token": {
|
|
"name": "token",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.IntrospectRequest.token",
|
|
"signature": "<bound method Alias.signature of Alias('token', 'jwtlib.models.app.IntrospectRequest.token')>",
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.IntrospectRequest.model_config",
|
|
"signature": "<bound method Alias.signature of Alias('model_config', 'jwtlib.models.app.IntrospectRequest.model_config')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"IntrospectResponse": {
|
|
"name": "IntrospectResponse",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.IntrospectResponse",
|
|
"signature": "<bound method Alias.signature of Alias('IntrospectResponse', 'jwtlib.models.app.IntrospectResponse')>",
|
|
"docstring": "Result of a token introspection operation.\n\nAttributes:\n active (bool):\n Indicates whether the token is valid and active.\n user (Optional[PublicUser]):\n Public user details if the token is valid; otherwise null.",
|
|
"members": {
|
|
"active": {
|
|
"name": "active",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.IntrospectResponse.active",
|
|
"signature": "<bound method Alias.signature of Alias('active', 'jwtlib.models.app.IntrospectResponse.active')>",
|
|
"docstring": null
|
|
},
|
|
"user": {
|
|
"name": "user",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.IntrospectResponse.user",
|
|
"signature": "<bound method Alias.signature of Alias('user', 'jwtlib.models.app.IntrospectResponse.user')>",
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.IntrospectResponse.model_config",
|
|
"signature": "<bound method Alias.signature of Alias('model_config', 'jwtlib.models.app.IntrospectResponse.model_config')>",
|
|
"docstring": null
|
|
},
|
|
"jwt_error": {
|
|
"name": "jwt_error",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.IntrospectResponse.jwt_error",
|
|
"signature": "<bound method Alias.signature of Alias('jwt_error', 'jwtlib.models.app.IntrospectResponse.jwt_error')>",
|
|
"docstring": null
|
|
},
|
|
"no_username": {
|
|
"name": "no_username",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.IntrospectResponse.no_username",
|
|
"signature": "<bound method Alias.signature of Alias('no_username', 'jwtlib.models.app.IntrospectResponse.no_username')>",
|
|
"docstring": null
|
|
},
|
|
"no_user": {
|
|
"name": "no_user",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.IntrospectResponse.no_user",
|
|
"signature": "<bound method Alias.signature of Alias('no_user', 'jwtlib.models.app.IntrospectResponse.no_user')>",
|
|
"docstring": null
|
|
},
|
|
"valid_user": {
|
|
"name": "valid_user",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.IntrospectResponse.valid_user",
|
|
"signature": "<bound method Alias.signature of Alias('valid_user', 'jwtlib.models.app.IntrospectResponse.valid_user')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"User": {
|
|
"name": "User",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.User",
|
|
"signature": "<bound method Alias.signature of Alias('User', 'jwtlib.models.mongo.User')>",
|
|
"docstring": "Internal user persistence model.\n\nAttributes:\n hashed_password (str):\n Secure hash of the user's password.\n\nNotes:\n **Responsibilities:**\n\n - Represents a user record as stored in the database. Includes\n sensitive fields and is strictly confined to the persistence\n layer.\n\n **Guarantees:**\n\n - This model MUST NOT be returned from authentication APIs.\n Consumers should use `PublicUser` instead. Password verification\n is handled by the repository layer.",
|
|
"members": {
|
|
"hashed_password": {
|
|
"name": "hashed_password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.User.hashed_password",
|
|
"signature": "<bound method Alias.signature of Alias('hashed_password', 'jwtlib.models.mongo.User.hashed_password')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"TokenPayload": {
|
|
"name": "TokenPayload",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.TokenPayload",
|
|
"signature": "<bound method Alias.signature of Alias('TokenPayload', 'jwtlib.models.security.TokenPayload')>",
|
|
"docstring": "Decoded `JWT` payload.\n\nAttributes:\n sub (str):\n Subject claim identifying the user (typically a username or user ID).\n exp (int):\n Expiration time as a Unix timestamp (seconds since epoch).\n\nNotes:\n **Responsibilities:**\n\n - Represents the validated claims extracted from a `JWT` after\n signature verification. This model is used internally to enforce\n required claims and provide a typed interface to token data.\n\n **Guarantees:**\n\n - This model assumes the `JWT` signature has already been verified.\n No authorization decisions should be made solely on this model.\n Additional claims may exist but are intentionally ignored.",
|
|
"members": {
|
|
"sub": {
|
|
"name": "sub",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.TokenPayload.sub",
|
|
"signature": "<bound method Alias.signature of Alias('sub', 'jwtlib.models.security.TokenPayload.sub')>",
|
|
"docstring": null
|
|
},
|
|
"exp": {
|
|
"name": "exp",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.TokenPayload.exp",
|
|
"signature": "<bound method Alias.signature of Alias('exp', 'jwtlib.models.security.TokenPayload.exp')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"app": {
|
|
"name": "app",
|
|
"kind": "module",
|
|
"path": "jwtlib.models.app",
|
|
"signature": null,
|
|
"docstring": "# Summary\n\nAuthentication request and response models.\n\nThis module defines all **typed data models** used by the authentication\nlibrary for user registration, login, logout, and token introspection.\n\nNotes:\n **Model Categories:**\n\n - Request payloads used by authentication workflows.\n - Public response models exposed to consumers.\n - Introspection responses used for service-to-service authentication.\n\n **Design Principles:**\n\n - Fully typed (Pydantic v2).\n - Serialization-safe.\n - Framework-agnostic.\n - Suitable for both internal logic and external adapters.",
|
|
"members": {
|
|
"BaseModel": {
|
|
"name": "BaseModel",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.app.BaseModel",
|
|
"signature": "<bound method Alias.signature of Alias('BaseModel', 'pydantic.BaseModel')>",
|
|
"docstring": null
|
|
},
|
|
"Field": {
|
|
"name": "Field",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.app.Field",
|
|
"signature": "<bound method Alias.signature of Alias('Field', 'pydantic.Field')>",
|
|
"docstring": null
|
|
},
|
|
"ActiveStateMixin": {
|
|
"name": "ActiveStateMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.ActiveStateMixin",
|
|
"signature": "<bound method Alias.signature of Alias('ActiveStateMixin', 'jwtlib.models.common.ActiveStateMixin')>",
|
|
"docstring": "Mixin for entities with an active status flag.\n\nAttributes:\n is_active (bool):\n Indicates whether the account is active and allowed to\n authenticate.",
|
|
"members": {
|
|
"is_active": {
|
|
"name": "is_active",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.ActiveStateMixin.is_active",
|
|
"signature": "<bound method Alias.signature of Alias('is_active', 'jwtlib.models.common.ActiveStateMixin.is_active')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"IdentityMixin": {
|
|
"name": "IdentityMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.IdentityMixin",
|
|
"signature": "<bound method Alias.signature of Alias('IdentityMixin', 'jwtlib.models.common.IdentityMixin')>",
|
|
"docstring": "Mixin for entities with a username and email.\n\nAttributes:\n username (str):\n Unique username used for authentication and display.\n email (Optional[EmailStr]):\n Primary email address associated with the account.",
|
|
"members": {
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.IdentityMixin.username",
|
|
"signature": "<bound method Alias.signature of Alias('username', 'jwtlib.models.common.IdentityMixin.username')>",
|
|
"docstring": null
|
|
},
|
|
"email": {
|
|
"name": "email",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.IdentityMixin.email",
|
|
"signature": "<bound method Alias.signature of Alias('email', 'jwtlib.models.common.IdentityMixin.email')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"PasswordMixin": {
|
|
"name": "PasswordMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.PasswordMixin",
|
|
"signature": "<bound method Alias.signature of Alias('PasswordMixin', 'jwtlib.models.common.PasswordMixin')>",
|
|
"docstring": "Mixin for entities with a raw password field.\n\nAttributes:\n password (str):\n User password (minimum 6 characters).",
|
|
"members": {
|
|
"password": {
|
|
"name": "password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.PasswordMixin.password",
|
|
"signature": "<bound method Alias.signature of Alias('password', 'jwtlib.models.common.PasswordMixin.password')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"User": {
|
|
"name": "User",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.User",
|
|
"signature": "<bound method Alias.signature of Alias('User', 'jwtlib.models.mongo.User')>",
|
|
"docstring": "Internal user persistence model.\n\nAttributes:\n hashed_password (str):\n Secure hash of the user's password.\n\nNotes:\n **Responsibilities:**\n\n - Represents a user record as stored in the database. Includes\n sensitive fields and is strictly confined to the persistence\n layer.\n\n **Guarantees:**\n\n - This model MUST NOT be returned from authentication APIs.\n Consumers should use `PublicUser` instead. Password verification\n is handled by the repository layer.",
|
|
"members": {
|
|
"hashed_password": {
|
|
"name": "hashed_password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.User.hashed_password",
|
|
"signature": "<bound method Alias.signature of Alias('hashed_password', 'jwtlib.models.mongo.User.hashed_password')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"RegisterRequest": {
|
|
"name": "RegisterRequest",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.RegisterRequest",
|
|
"signature": "<bound method Class.signature of Class('RegisterRequest', 32, 53)>",
|
|
"docstring": "Payload for registering a new user account.\n\nAttributes:\n username (str):\n Unique username identifier.\n email (EmailStr, optional):\n User's email address.\n password (str):\n Plain-text password (to be hashed by the repository layer).",
|
|
"members": {
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.RegisterRequest.model_config",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.RegisterRequest.username",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"email": {
|
|
"name": "email",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.RegisterRequest.email",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"password": {
|
|
"name": "password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.RegisterRequest.password",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"LoginRequest": {
|
|
"name": "LoginRequest",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.LoginRequest",
|
|
"signature": "<bound method Class.signature of Class('LoginRequest', 56, 71)>",
|
|
"docstring": "Payload for authenticating a user and issuing a `JWT`.\n\nAttributes:\n username (str):\n Username identifier.\n password (str):\n Plain-text password to be verified.",
|
|
"members": {
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LoginRequest.model_config",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LoginRequest.username",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"password": {
|
|
"name": "password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LoginRequest.password",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"IntrospectRequest": {
|
|
"name": "IntrospectRequest",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.IntrospectRequest",
|
|
"signature": "<bound method Class.signature of Class('IntrospectRequest', 74, 93)>",
|
|
"docstring": "Payload for requesting token introspection.\n\nAttributes:\n token (str):\n `JWT` access token to introspect.",
|
|
"members": {
|
|
"token": {
|
|
"name": "token",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.IntrospectRequest.token",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.IntrospectRequest.model_config",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"PublicUser": {
|
|
"name": "PublicUser",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.PublicUser",
|
|
"signature": "<bound method Class.signature of Class('PublicUser', 99, 121)>",
|
|
"docstring": "Public-facing user representation returned by authentication APIs.\n\nAttributes:\n username (str):\n Unique username identifier.\n email (EmailStr, optional):\n User's email address.\n is_active (bool):\n Whether the user account is active.",
|
|
"members": {
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.PublicUser.model_config",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.PublicUser.username",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"email": {
|
|
"name": "email",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.PublicUser.email",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"is_active": {
|
|
"name": "is_active",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.PublicUser.is_active",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"LoginResponse": {
|
|
"name": "LoginResponse",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.LoginResponse",
|
|
"signature": "<bound method Class.signature of Class('LoginResponse', 124, 154)>",
|
|
"docstring": "Response returned after successful authentication.\n\nAttributes:\n access_token (str):\n `JWT` access token for authenticated requests.\n user (PublicUser):\n Public profile of the authenticated user.",
|
|
"members": {
|
|
"access_token": {
|
|
"name": "access_token",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LoginResponse.access_token",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"user": {
|
|
"name": "user",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LoginResponse.user",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LoginResponse.model_config",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"LogoutResponse": {
|
|
"name": "LogoutResponse",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.LogoutResponse",
|
|
"signature": "<bound method Class.signature of Class('LogoutResponse', 157, 174)>",
|
|
"docstring": "Response returned after a logout operation.\n\nAttributes:\n message (str):\n Human-readable logout confirmation.",
|
|
"members": {
|
|
"message": {
|
|
"name": "message",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LogoutResponse.message",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.LogoutResponse.model_config",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"IntrospectResponse": {
|
|
"name": "IntrospectResponse",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.app.IntrospectResponse",
|
|
"signature": "<bound method Class.signature of Class('IntrospectResponse', 177, 233)>",
|
|
"docstring": "Result of a token introspection operation.\n\nAttributes:\n active (bool):\n Indicates whether the token is valid and active.\n user (Optional[PublicUser]):\n Public user details if the token is valid; otherwise null.",
|
|
"members": {
|
|
"active": {
|
|
"name": "active",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.IntrospectResponse.active",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"user": {
|
|
"name": "user",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.IntrospectResponse.user",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"model_config": {
|
|
"name": "model_config",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.app.IntrospectResponse.model_config",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"jwt_error": {
|
|
"name": "jwt_error",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.app.IntrospectResponse.jwt_error",
|
|
"signature": "<bound method Function.signature of Function('jwt_error', 213, 215)>",
|
|
"docstring": null
|
|
},
|
|
"no_username": {
|
|
"name": "no_username",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.app.IntrospectResponse.no_username",
|
|
"signature": "<bound method Function.signature of Function('no_username', 217, 219)>",
|
|
"docstring": null
|
|
},
|
|
"no_user": {
|
|
"name": "no_user",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.app.IntrospectResponse.no_user",
|
|
"signature": "<bound method Function.signature of Function('no_user', 221, 223)>",
|
|
"docstring": null
|
|
},
|
|
"valid_user": {
|
|
"name": "valid_user",
|
|
"kind": "function",
|
|
"path": "jwtlib.models.app.IntrospectResponse.valid_user",
|
|
"signature": "<bound method Function.signature of Function('valid_user', 225, 233)>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"Any": {
|
|
"name": "Any",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.app.Any",
|
|
"signature": "<bound method Alias.signature of Alias('Any', 'typing.Any')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"common": {
|
|
"name": "common",
|
|
"kind": "module",
|
|
"path": "jwtlib.models.common",
|
|
"signature": null,
|
|
"docstring": "# Summary\n\nCommon Pydantic mixins for authentication models.\n\nThis module provides reusable mixins for identity, password, and\naccount state. These mixes ensure consistency across internal\npersistence models and public-facing projection models.",
|
|
"members": {
|
|
"BaseModel": {
|
|
"name": "BaseModel",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.common.BaseModel",
|
|
"signature": "<bound method Alias.signature of Alias('BaseModel', 'pydantic.BaseModel')>",
|
|
"docstring": null
|
|
},
|
|
"EmailStr": {
|
|
"name": "EmailStr",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.common.EmailStr",
|
|
"signature": "<bound method Alias.signature of Alias('EmailStr', 'pydantic.EmailStr')>",
|
|
"docstring": null
|
|
},
|
|
"Field": {
|
|
"name": "Field",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.common.Field",
|
|
"signature": "<bound method Alias.signature of Alias('Field', 'pydantic.Field')>",
|
|
"docstring": null
|
|
},
|
|
"IdentityMixin": {
|
|
"name": "IdentityMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.common.IdentityMixin",
|
|
"signature": "<bound method Class.signature of Class('IdentityMixin', 14, 37)>",
|
|
"docstring": "Mixin for entities with a username and email.\n\nAttributes:\n username (str):\n Unique username used for authentication and display.\n email (Optional[EmailStr]):\n Primary email address associated with the account.",
|
|
"members": {
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.common.IdentityMixin.username",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"email": {
|
|
"name": "email",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.common.IdentityMixin.email",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"PasswordMixin": {
|
|
"name": "PasswordMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.common.PasswordMixin",
|
|
"signature": "<bound method Class.signature of Class('PasswordMixin', 40, 54)>",
|
|
"docstring": "Mixin for entities with a raw password field.\n\nAttributes:\n password (str):\n User password (minimum 6 characters).",
|
|
"members": {
|
|
"password": {
|
|
"name": "password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.common.PasswordMixin.password",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"ActiveStateMixin": {
|
|
"name": "ActiveStateMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.common.ActiveStateMixin",
|
|
"signature": "<bound method Class.signature of Class('ActiveStateMixin', 57, 71)>",
|
|
"docstring": "Mixin for entities with an active status flag.\n\nAttributes:\n is_active (bool):\n Indicates whether the account is active and allowed to\n authenticate.",
|
|
"members": {
|
|
"is_active": {
|
|
"name": "is_active",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.common.ActiveStateMixin.is_active",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"mongo": {
|
|
"name": "mongo",
|
|
"kind": "module",
|
|
"path": "jwtlib.models.mongo",
|
|
"signature": null,
|
|
"docstring": "# Summary\n\nPersistence-layer user model for MongoDB.\n\nThis module defines the internal database representation of a user.\nIt is used exclusively by the repository and persistence layers and\nmust never be exposed directly to consumers.\n\nPublic-facing user data is provided via dedicated projection models.",
|
|
"members": {
|
|
"BaseDocument": {
|
|
"name": "BaseDocument",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.mongo.BaseDocument",
|
|
"signature": "<bound method Alias.signature of Alias('BaseDocument', 'mongo_ops.BaseDocument')>",
|
|
"docstring": null
|
|
},
|
|
"ActiveStateMixin": {
|
|
"name": "ActiveStateMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.mongo.ActiveStateMixin",
|
|
"signature": "<bound method Alias.signature of Alias('ActiveStateMixin', 'jwtlib.models.common.ActiveStateMixin')>",
|
|
"docstring": "Mixin for entities with an active status flag.\n\nAttributes:\n is_active (bool):\n Indicates whether the account is active and allowed to\n authenticate.",
|
|
"members": {
|
|
"is_active": {
|
|
"name": "is_active",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.mongo.ActiveStateMixin.is_active",
|
|
"signature": "<bound method Alias.signature of Alias('is_active', 'jwtlib.models.common.ActiveStateMixin.is_active')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"IdentityMixin": {
|
|
"name": "IdentityMixin",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.mongo.IdentityMixin",
|
|
"signature": "<bound method Alias.signature of Alias('IdentityMixin', 'jwtlib.models.common.IdentityMixin')>",
|
|
"docstring": "Mixin for entities with a username and email.\n\nAttributes:\n username (str):\n Unique username used for authentication and display.\n email (Optional[EmailStr]):\n Primary email address associated with the account.",
|
|
"members": {
|
|
"username": {
|
|
"name": "username",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.mongo.IdentityMixin.username",
|
|
"signature": "<bound method Alias.signature of Alias('username', 'jwtlib.models.common.IdentityMixin.username')>",
|
|
"docstring": null
|
|
},
|
|
"email": {
|
|
"name": "email",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.mongo.IdentityMixin.email",
|
|
"signature": "<bound method Alias.signature of Alias('email', 'jwtlib.models.common.IdentityMixin.email')>",
|
|
"docstring": null
|
|
}
|
|
}
|
|
},
|
|
"User": {
|
|
"name": "User",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.mongo.User",
|
|
"signature": "<bound method Class.signature of Class('User', 18, 40)>",
|
|
"docstring": "Internal user persistence model.\n\nAttributes:\n hashed_password (str):\n Secure hash of the user's password.\n\nNotes:\n **Responsibilities:**\n\n - Represents a user record as stored in the database. Includes\n sensitive fields and is strictly confined to the persistence\n layer.\n\n **Guarantees:**\n\n - This model MUST NOT be returned from authentication APIs.\n Consumers should use `PublicUser` instead. Password verification\n is handled by the repository layer.",
|
|
"members": {
|
|
"hashed_password": {
|
|
"name": "hashed_password",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.mongo.User.hashed_password",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"security": {
|
|
"name": "security",
|
|
"kind": "module",
|
|
"path": "jwtlib.models.security",
|
|
"signature": null,
|
|
"docstring": "# Summary\n\nJWT token payload models.\n\nThis module defines typed representations of decoded `JWT` payloads used\ninternally for token validation and user resolution.",
|
|
"members": {
|
|
"BaseModel": {
|
|
"name": "BaseModel",
|
|
"kind": "alias",
|
|
"path": "jwtlib.models.security.BaseModel",
|
|
"signature": "<bound method Alias.signature of Alias('BaseModel', 'pydantic.BaseModel')>",
|
|
"docstring": null
|
|
},
|
|
"TokenPayload": {
|
|
"name": "TokenPayload",
|
|
"kind": "class",
|
|
"path": "jwtlib.models.security.TokenPayload",
|
|
"signature": "<bound method Class.signature of Class('TokenPayload', 13, 38)>",
|
|
"docstring": "Decoded `JWT` payload.\n\nAttributes:\n sub (str):\n Subject claim identifying the user (typically a username or user ID).\n exp (int):\n Expiration time as a Unix timestamp (seconds since epoch).\n\nNotes:\n **Responsibilities:**\n\n - Represents the validated claims extracted from a `JWT` after\n signature verification. This model is used internally to enforce\n required claims and provide a typed interface to token data.\n\n **Guarantees:**\n\n - This model assumes the `JWT` signature has already been verified.\n No authorization decisions should be made solely on this model.\n Additional claims may exist but are intentionally ignored.",
|
|
"members": {
|
|
"sub": {
|
|
"name": "sub",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.security.TokenPayload.sub",
|
|
"signature": null,
|
|
"docstring": null
|
|
},
|
|
"exp": {
|
|
"name": "exp",
|
|
"kind": "attribute",
|
|
"path": "jwtlib.models.security.TokenPayload.exp",
|
|
"signature": null,
|
|
"docstring": null
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |