django-allauth Azure 广告配置

标签 django azure django-allauth

我正在尝试使用 django-allauth 设置 django azure 广告身份验证,但目前文档中没有用于设置 Azure 广告的正确文档。

我有 client_id、secret 和tenant_id。我尝试了一些配置,但似乎不起作用。 配置1:

SOCIALACCOUNT_PROVIDERS = {
    'azure': {
        'APP': {
            'client_id': 'client_id',
            'secret': 'secret',
            'key': ''
        }
    }
}

配置2:

SOCIALACCOUNT_PROVIDERS = {
    'azure': {
        'APP': {
            'client_id': 'client_id',
            'secret': 'secret',
            'key': '',
            'tenant_id': '',
        }
    }
}


I have experimented few more configuration but its seems to be not working
https://django-allauth.readthedocs.io/en/latest/providers.html

最佳答案

正如您所说,此集成缺乏文档。我能够让 Azure SSO 在单租户应用程序的设置中使用以下配置。首先,确保您在 INSTALLED APPS 中声明了以下所有内容:

    "allauth",
    "allauth.account",
    "allauth.socialaccount",
    "allauth.socialaccount.providers.microsoft",

请注意,缺少 .azure 作为提供程序。我的测试显示,使用 .microsoft 作为提供程序可与我在 Azure AD 中注册的单租户应用程序配合使用,而 .azure 则不能,并且会登录时抛出错误。您没有指定您的应用是单租户还是 Multi-Tenancy 。

其次,声明您的配置如下:

    SOCIALACCOUNT_PROVIDERS = {
        'microsoft': {
                'tenant': secrets.AZURE_AD_TENANT_ID, 
                'client_id': secrets.AZURE_AD_CLIENT_ID,
        }
    }

secrets. 只是我的自定义 secret 管理器,重要的部分是语法和您传递的 ID。这里的“租户”不是您的订阅租户 ID,而是显示在 Azure AD 中已注册应用程序的“概述”边栏选项卡中的租户 ID。 client_id 位于同一概述区域,在撰写本文时位于“对象 ID”上方。请注意上面缺少 APP: {}。一开始这也让我很困惑。我从this GitHub post中得到了一条线索.

最后,要使其正常工作,您必须在 Django 管理内的 django-allauth 管理面板中创建“社交应用程序”记录。为应用程序提供任何您想要的名称,并在此处添加 Azure AD 注册应用程序中的“客户端 ID”和“应用程序 key ”。

关于django-allauth Azure 广告配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73885989/

相关文章:

python - 如何返回多个查询集对象或从 Django 中的 get_queryset 方法添加查询集结果

t-sql - 在 Azure 数据库中导入 BCP 文件

Python PyMySql key 错误 : 255 in Azure notebooks

python - Django all-auth 删除在注册表单中两次询问密码

python - 错误 "The parameter redirect_uri is required"

django - 在 django-allauth 中,登录后如何以及在哪里设置 session 变量?

python - 将表单数据保存到数据库并将其发送到API; Django

django - 在我的 django 应用程序中导入 pymongo 时出错

用于在 WebApp 中列入白名单的 Azure 前门探测 ip

django - 自定义社交注册表单