taolib.testing.oauth.server.dependencies#

OAuth 依赖注入模块。

提供 FastAPI 依赖注入函数。

Attributes#

Functions#

get_mongo_client(→ motor.motor_asyncio.AsyncIOMotorClient)

获取 MongoDB 客户端。

get_mongo_db([client])

获取 MongoDB 数据库。

get_connection_collection(...)

获取 OAuth 连接集合。

get_credential_collection(...)

获取 OAuth 凭证集合。

get_session_collection(...)

获取 OAuth 会话集合。

get_activity_collection(...)

获取 OAuth 活动日志集合。

get_connection_repo(...)

获取 OAuth 连接 Repository。

get_credential_repo(...)

获取 OAuth 凭证 Repository。

get_session_repo(...)

获取 OAuth 会话 Repository。

get_activity_repo(...)

获取 OAuth 活动日志 Repository。

get_token_encryptor(...)

获取 Token 加密器。

get_provider_registry(...)

获取提供商注册表。

get_redis_client()

获取 Redis 客户端。

get_state_store(...)

获取 CSRF State 存储。

get_flow_service([state_store, encryptor])

获取 OAuth 流程服务。

get_account_service([activity_repo, encryptor])

获取 OAuth 账户服务。

get_token_service([credential_repo, activity_repo, ...])

获取 OAuth Token 服务。

get_session_service([redis_client])

获取 OAuth 会话服务。

get_admin_service([activity_repo, connection_repo, ...])

获取 OAuth 管理服务。

get_current_user_id() → str)

从 JWT Token 中提取当前用户 ID。

Module Contents#

taolib.testing.oauth.server.dependencies._provider_registry#
taolib.testing.oauth.server.dependencies._oauth2_scheme#
async taolib.testing.oauth.server.dependencies.get_mongo_client() motor.motor_asyncio.AsyncIOMotorClient#

获取 MongoDB 客户端。

async taolib.testing.oauth.server.dependencies.get_mongo_db(client: motor.motor_asyncio.AsyncIOMotorClient = Depends(get_mongo_client))#

获取 MongoDB 数据库。

async taolib.testing.oauth.server.dependencies.get_connection_collection(db=Depends(get_mongo_db)) motor.motor_asyncio.AsyncIOMotorCollection#

获取 OAuth 连接集合。

async taolib.testing.oauth.server.dependencies.get_credential_collection(db=Depends(get_mongo_db)) motor.motor_asyncio.AsyncIOMotorCollection#

获取 OAuth 凭证集合。

async taolib.testing.oauth.server.dependencies.get_session_collection(db=Depends(get_mongo_db)) motor.motor_asyncio.AsyncIOMotorCollection#

获取 OAuth 会话集合。

async taolib.testing.oauth.server.dependencies.get_activity_collection(db=Depends(get_mongo_db)) motor.motor_asyncio.AsyncIOMotorCollection#

获取 OAuth 活动日志集合。

async taolib.testing.oauth.server.dependencies.get_connection_repo(collection=Depends(get_connection_collection)) taolib.testing.oauth.repository.connection_repo.OAuthConnectionRepository#

获取 OAuth 连接 Repository。

async taolib.testing.oauth.server.dependencies.get_credential_repo(collection=Depends(get_credential_collection)) taolib.testing.oauth.repository.credential_repo.OAuthAppCredentialRepository#

获取 OAuth 凭证 Repository。

async taolib.testing.oauth.server.dependencies.get_session_repo(collection=Depends(get_session_collection)) taolib.testing.oauth.repository.session_repo.OAuthSessionRepository#

获取 OAuth 会话 Repository。

async taolib.testing.oauth.server.dependencies.get_activity_repo(collection=Depends(get_activity_collection)) taolib.testing.oauth.repository.activity_repo.OAuthActivityLogRepository#

获取 OAuth 活动日志 Repository。

taolib.testing.oauth.server.dependencies.get_token_encryptor() taolib.testing.oauth.crypto.token_encryption.TokenEncryptor#

获取 Token 加密器。

taolib.testing.oauth.server.dependencies.get_provider_registry() taolib.testing.oauth.providers.ProviderRegistry#

获取提供商注册表。

async taolib.testing.oauth.server.dependencies.get_redis_client()#

获取 Redis 客户端。

async taolib.testing.oauth.server.dependencies.get_state_store(redis_client=Depends(get_redis_client)) taolib.testing.oauth.cache.state_store.OAuthStateStore#

获取 CSRF State 存储。

async taolib.testing.oauth.server.dependencies.get_flow_service(credential_repo=Depends(get_credential_repo), state_store=Depends(get_state_store), encryptor=Depends(get_token_encryptor)) taolib.testing.oauth.services.flow_service.OAuthFlowService#

获取 OAuth 流程服务。

async taolib.testing.oauth.server.dependencies.get_account_service(connection_repo=Depends(get_connection_repo), activity_repo=Depends(get_activity_repo), encryptor=Depends(get_token_encryptor)) taolib.testing.oauth.services.account_service.OAuthAccountService#

获取 OAuth 账户服务。

async taolib.testing.oauth.server.dependencies.get_token_service(connection_repo=Depends(get_connection_repo), credential_repo=Depends(get_credential_repo), activity_repo=Depends(get_activity_repo), encryptor=Depends(get_token_encryptor)) taolib.testing.oauth.services.token_service.OAuthTokenService#

获取 OAuth Token 服务。

async taolib.testing.oauth.server.dependencies.get_session_service(session_repo=Depends(get_session_repo), redis_client=Depends(get_redis_client)) taolib.testing.oauth.services.session_service.OAuthSessionService#

获取 OAuth 会话服务。

async taolib.testing.oauth.server.dependencies.get_admin_service(credential_repo=Depends(get_credential_repo), activity_repo=Depends(get_activity_repo), connection_repo=Depends(get_connection_repo), encryptor=Depends(get_token_encryptor)) taolib.testing.oauth.services.admin_service.OAuthAdminService#

获取 OAuth 管理服务。

async taolib.testing.oauth.server.dependencies.get_current_user_id(token: str = Depends(_oauth2_scheme)) str#

从 JWT Token 中提取当前用户 ID。