我尝试使用django-allauth设置django Azure广告身份验证,但目前文档中没有设置Azure广告的适当文档。
我有client_id、secret和tenant_id。我尝试了一些配置,但似乎不起作用。配置1:
SOCIALACCOUNT_PROVIDERS = {
'azure': {
'APP': {
'client_id': 'client_id',
'secret': 'secret',
'key': ''
}
}
}
配置2:
x一个一个一个一个x一个一个二个x
2条答案
按热度按时间kmb7vmvb1#
正如您所说,缺少有关此集成的文档。我能够让Azure SSO在***单租户***应用的设置中使用以下配置。首先,确保您在
INSTALLED APPS
中声明了以下所有内容:请注意,没有
.azure
作为提供程序。我的测试显示,使用.microsoft
作为提供程序可用于我在Azure AD中注册的单租户应用程序,而.azure
不能,并且会在登录时引发错误。你已指定你的应用是单租户还是多租户。其次,按如下所示声明配置:
secrets.
只是我的自定义密钥管理器,重要的部分是语法和您传递的ID。此处的“租户”不是您的订阅租户ID,而是Azure AD中您的注册应用程序的Overview Blade中显示的租户ID。client_id
位于同一Overview区域,就在写这篇文章时的“对象ID”上面。注意上面没有APP: {}
。这一开始也让我很困惑。我从this GitHub post中得到了一个线索。最后,要让这个工作,你必须在Django-allauth的管理面板中创建一个“社交应用”记录。给予应用你想要的任何名称,并添加'客户端ID'和'应用程序密码'从Azure AD注册的应用程序在这里。
ikfrs5lh2#
我只是想给予一下米洛的回答,在一些失败的尝试之后,我查看了django-allauth的github project的发行说明,注意到了0.49.0版本的评论:
Microsoft租户设置现在必须使用大写TENANT指定。
只需将"tenant"的大小写改为“TENANT”就可以了