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]