admin 发表于 2026-3-5 17:01:56

bitcoincash-oauth-fastapi 0.2.1:为FastAPI应用提供比特币现金OAuth认证集成

bitcoincash-oauth-fastapi 0.2.1:为FastAPI应用提供比特币现金OAuth认证集成

作者:James Bentley
来源:Pypi.org
引用:https://pypi.org/project/bitcoincash-oauth-fastapi/0.2.1/

bitcoincash-oauth-fastapi 0.2.1是一个专为FastAPI应用设计的比特币现金OAuth认证集成库。它允许开发者通过比特币现金地址进行用户认证,并提供了一系列API端点来管理用户注册、令牌获取和刷新、令牌撤销以及获取当前用户信息等功能。

### 安装

使用pip安装此库:

pip install bitcoincash-oauth-fastapi

### 快速入门

以下是如何快速集成比特币现金OAuth认证的示例代码:

python

from fastapi import FastAPI

from bitcoincash_oauth_fastapi import BitcoinCashOAuth

app = FastAPI()

oauth = BitcoinCashOAuth(router_prefix="/auth", token_ttl=3600, refresh_token_ttl=2592000, max_tokens_per_user=5)

app.include_router(oauth.router)

@app.get("/api/protected")

async def protected_endpoint(token_data=oauth.get_user_dependency()):

return {"message": "This is protected", "user_id": token_data.user_id, "scopes": token_data.scopes}

### API端点

- **POST /auth/register**: 使用比特币现金地址注册新用户。如果启用了`REQUIRE_SIGNATURE_FOR_REGISTRATION`,则需要提供钱包所有权的证明。

- **POST /auth/token**: 使用比特币现金签名获取OAuth令牌。客户端必须对消息进行签名,格式为`bitcoincash-oauth|domain|userId|timestamp`。

- **POST /auth/refresh**: 刷新访问令牌。

- **POST /auth/revoke**: 撤销访问令牌。

- **GET /auth/me**: 获取当前用户信息(需要Bearer令牌)。

### 高级用法

- **自定义令牌管理器**:可以配置或创建自己的令牌管理器。

- **直接使用验证器**:可以直接使用验证器来验证CashAddr和进行认证验证。

- **简单路由函数**:可以使用简单路由函数来添加默认设置的路由。

### 配置

所有设置都可以通过带前缀`BITCOINCASH_OAUTH_`的环境变量进行配置。

### 自定义模型

如果项目已存在名为`BitcoinCashUser`或`OAuthToken`的模型,可以使用自定义模型以避免冲突。

### 依赖

- fastapi>=0.100.0

- coincurve>=18.0.0

- cashaddress>=1.0.6

- python-jose>=3.3.0

- pydantic>=2.0.0

### 许可证

此库采用MIT许可证发布。
页: [1]
查看完整版本: bitcoincash-oauth-fastapi 0.2.1:为FastAPI应用提供比特币现金OAuth认证集成