FastAPI-Azure-Auth 项目教程

FastAPI-Azure-Auth 项目教程

fastapi-azure-authEasy and secure implementation of Azure Entra ID (previously AD) for your FastAPI APIs 🔒 B2C, single- and multi-tenant support.项目地址:https://gitcode.com/gh_mirrors/fa/fastapi-azure-auth

1. 项目的目录结构及介绍

FastAPI-Azure-Auth 项目的目录结构如下:

fastapi-azure-auth/
├── fastapi_azure_auth/
│   ├── __init__.py
│   ├── azure_auth.py
│   ├── multi_tenant.py
│   ├── b2c.py
│   ├── exceptions.py
│   ├── openid_config.py
│   ├── utils.py
│   └── ...
├── tests/
│   ├── __init__.py
│   ├── test_azure_auth.py
│   ├── test_multi_tenant.py
│   ├── test_b2c.py
│   └── ...
├── .gitignore
├── LICENSE
├── README.md
├── setup.py
└── ...

目录结构介绍

  • fastapi_azure_auth/: 包含项目的主要代码文件。
    • __init__.py: 包的初始化文件。
    • azure_auth.py: 实现 Azure AD 认证的主要逻辑。
    • multi_tenant.py: 实现多租户认证的逻辑。
    • b2c.py: 实现 Azure AD B2C 认证的逻辑。
    • exceptions.py: 定义自定义异常。
    • openid_config.py: 处理 OpenID 配置。
    • utils.py: 包含一些实用工具函数。
  • tests/: 包含项目的测试文件。
    • test_azure_auth.py: 测试 Azure AD 认证的逻辑。
    • test_multi_tenant.py: 测试多租户认证的逻辑。
    • test_b2c.py: 测试 Azure AD B2C 认证的逻辑。
  • .gitignore: Git 忽略文件配置。
  • LICENSE: 项目的许可证文件。
  • README.md: 项目的说明文档。
  • setup.py: 项目的安装配置文件。

2. 项目的启动文件介绍

项目的启动文件通常是 main.py,但在 FastAPI-Azure-Auth 项目中,启动文件可能是一个示例文件,用于演示如何使用该库。以下是一个示例启动文件的内容:

# main.py
from fastapi import FastAPI
from fastapi_azure_auth import SingleTenantAzureAuthorizationCodeBearer

app = FastAPI()

azure_auth = SingleTenantAzureAuthorizationCodeBearer(
    app_client_id='your-client-id',
    tenant_id='your-tenant-id',
    scopes={
        'User.Read': 'Read user profile',
    }
)

@app.get('/')
async def root():
    return {'message': 'Hello World'}

app.include_router(azure_auth.router)

启动文件介绍

  • from fastapi import FastAPI: 导入 FastAPI 类。
  • from fastapi_azure_auth import SingleTenantAzureAuthorizationCodeBearer: 导入 Azure AD 认证类。
  • app = FastAPI(): 创建 FastAPI 应用实例。
  • azure_auth = SingleTenantAzureAuthorizationCodeBearer(...): 配置 Azure AD 认证。
  • @app.get('/'): 定义一个简单的路由。
  • app.include_router(azure_auth.router): 将认证路由包含到应用中。

3. 项目的配置文件介绍

FastAPI-Azure-Auth 项目的配置文件通常是 settings.py,用于存储应用的配置信息。以下是一个示例配置文件的内容:

# settings.py
import os

# Azure AD 配置
AZURE_CLIENT_ID = os.getenv('AZURE_CLIENT_ID', 'your-default-client-id')
AZURE_TENANT_ID = os.getenv('AZURE_TENANT_ID', 'your-default-tenant-id')
AZURE_CLIENT_SECRET = os.getenv('AZURE_CLIENT_SECRET', 'your-default-client-secret')

# FastAPI 配置
OPENAPI_CLIENT_ID = os.getenv('OPENAPI_CLIENT_ID', 'your-default-openapi-client-id')

配置文件介绍

  • AZURE_CLIENT_ID: Azure AD 应用的客户端 ID。
  • AZURE_TENANT_ID: Azure AD 租户 ID。
  • AZURE_CLIENT_SECRET: Azure AD 应用的客户端密钥。
  • OPENAPI_CLIENT_ID: OpenAPI 文档的客户端 ID。

以上是 FastAPI-Azure-Auth 项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用该项目。

fastapi-azure-authEasy and secure implementation of Azure Entra ID (previously AD) for your FastAPI APIs 🔒 B2C, single- and multi-tenant support.项目地址:https://gitcode.com/gh_mirrors/fa/fastapi-azure-auth

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樊声嘉Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值