Django allauth微软单点登录

yhuiod9q  于 2023-03-13  发布在  Go
关注(0)|答案(2)|浏览(158)

我在为我正在做的Django项目配置SSO选项时遇到问题。我希望只有我所在组织的用户才能登录到应用程序,但我一直收到以下错误:
AADSTS50194:应用程序'Azure:应用程序(客户端)ID“(DjangoAppSSO)未配置为多租户应用程序。在”10/15/2018“之后创建的此类应用程序不支持使用/common终结点。请使用租户特定的终结点或将应用程序配置为多租户。
我已经进入管理控制台,并使用与上述Azure帐户相同的客户端ID填充了管理控制台。我还使用我的值和密码ID创建了客户端密码,并将它们也放在管理控制台中。我将值填充为admin中的“Key”,将密码ID填充为“Secret Key”。www.example.com的所有必需导入都已完成settings.py,我相信问题出在我自己身上从而可能给出社会帐户提供者。
settings.py:

SOCIALACCOUNT_PROVIDERS = {
    'microsoft': {
       
        'APP': {
            'tenant': 'organization',
            'client_id': 'Azure: Application (client) ID',
        }
    }
}

只是为了澄清一下,任何写着“Azure:应用程序(客户端)ID”是那里的实际值,我只是不想把它发布到任何地方。

puruo6ea

puruo6ea1#

AADSTS50194:应用程序未配置为多租户应用程序。在“10/15/2018”之后创建的此类应用程序不支持使用/common终结点。请使用租户特定的终结点或将应用程序配置为多租户。
如果用户尝试使用多租户/common)端点登录单租户应用程序,则通常会发生上述错误。
注意organizations用于多租户应用程序,允许用户同时使用工作和学校帐户登录。
解决
错误,您需要修改**settings.py文件,方法是将organizations替换为您的Tenant ID**,如下所示:

SOCIALACCOUNT_PROVIDERS = {
    'microsoft': {
       
        'APP': {
            'tenant': 'Your_TenantID', //You can also give tenant domain here(contoso.onmicrosoft.com)
            'client_id': 'Azure: Application (client) ID',
        }
    }
}

您可以找到您的租户的**Tenant ID**,如下所示:

转到Azure门户-〉Azure Active Directory -〉应用注册-〉你的应用-〉概述

或者,您可以将现有的单租户应用程序更改为多租户,方法是更改其受支持的帐户类型,而无需修改**settings.py**,如下所示:

参考:

客户端应用程序配置(MSAL)|微软文档
Microsoft OAuth2 provider for django-allauth by Vincent Schänzer

qoefvg9y

qoefvg9y2#

我刚刚发布了一个类似主题的this答案。您现在需要使用大写的“TENANT”,否则它将无法工作

相关问题