【问题标题】:Azure active directory SAML SSO configuration issue with Django backendDjango 后端的 Azure Active Directory SAML SSO 配置问题
【发布时间】:2021-10-02 19:24:34
【问题描述】:

我正在尝试使用我的 Django 应用设置 SAML 单点登录 (SSO),但是当我尝试登录我的应用时出现错误。

我转到应用程序 url,Microsoft 处理请求(该 url 短暂显示 microsoft.loginonline.com/etc),然后我被重定向到此页面:

https://my-app.azurewebsites.net/.auth/login/aad/callback

显示此错误:

{"code":400,"message":"IDX10501: Signature validation failed. Unable to match keys: \nkid: '[PII is hidden]', \ntoken: '[PII is hidden]'."}

回复网址设置为:

https://my-app.azurewebsites.net/.auth/login/aad/callback

我按照 Azure 文档和本文档进行了设置:https://django-auth-adfs.readthedocs.io,它表面上在我的本地主机上运行,​​而不是在实际的 azure 应用程序服务上运行......我不确定我做错了什么,并且由于我是后端编程和云的新手,因此错误消息对我来说信息量不是很大。

感谢任何帮助,谢谢!

【问题讨论】:

    标签: python django azure azure-active-directory azure-web-app-service


    【解决方案1】:

    正如您所说,您已在后端使用 Django 应用程序配置 SAML SSO,并在登录时遇到上述错误。根据报告的错误,“PII 值被隐藏”,因此签名密钥无法由 AAD 验证。因此,您需要在“settings.py”文件中添加一些字符串,以通知 Django Web 应用程序从 AAD 返回的令牌值。请找到以下要添加到相应文件中的字符串:- 请将以下字符串添加到“settings.py”文件中的 AUTHENTICATION_BACKENDS 部分。 Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;

    将上述字符串添加到上述文件后,应用程序应该可以工作,SSO 也可以。

    另外,请在下面找到类似主题的链接以供您参考:-

    JWT token authentication fails with message "PII is hidden"

    谢谢

    【讨论】:

    • 这是在我的 settings.py 中:AUTHENTICATION_BACKENDS = [ 'django_auth_adfs.backend.AdfsAuthCodeBackend', 'django_auth_adfs.backend.AdfsAccessTokenBackend', 'django.contrib.auth.backends.ModelBackend', 'Microsoft. IdentityModel.Logging.IdentityModelEventSource.ShowPII = true;' ] 我仍然遇到同样的错误
    猜你喜欢
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多