gpt4 book ai didi

django - 如何在 DJango+Wagtail 应用程序中配置和启用 OpenID Connect?

转载 作者:行者123 更新时间:2023-12-03 03:56:16 26 4
gpt4 key购买 nike

我目前正在将 python-social-auth/social-core lib 与 DJango 应用程序一起使用,该应用程序已配置(并正在运行)以使用我们的(免费)Azure Active 对 Wagtail CMS 用户进行身份验证目录租户。

我们的 NFR 规定应使用 OpenID Connect 进行身份验证,为此,我们安装了“social-auth-core”和“openidconnect”额外内容,如下所示:

...
social-auth-core[openidconnect]
social-auth-app-django
...

再次,一切似乎都正常,用户可以登录,但是这是我的问题 - 我知道我在这里遗漏了一些东西:

据我所知,OpenID Connect 只是对 OAuth2.0 的修改/添加,它赋予 OAuth 超强的身份验证能力 - 不仅仅是授权 - 但我不知道我的 DJango+Wagtail 应用程序现在是否只是自动配置与 OpenID Connect 一起“正常工作”,或者是否有一些额外的逻辑/验证/配置/我需要应用于应用程序的任何内容。

我在 Azure AD 的官方 python-social-auth 文档中没有看到任何相关内容,也没有看到如何/是否需要在 Azure AD 本身中显式启用 OpenID。

有人可以帮忙吗?谢谢。

最佳答案

我深入研究了 Azure AD 的 OpenID Connect 文档,以及我认为是 OpenID 指标的两件事:

  • state=openid 用于 MS/oauth2/authorize 端点
  • openid 响应返回时带有 OpenID“id_token” key

文档:

https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc https://learn.microsoft.com/en-us/azure/active-directory/develop/id-tokens

身份验证响应:

{
"token_type": "Bearer",
"expires_in": "3599",
"ext_expires_in": "3599",
"expires_on": "1603915195",
"access_token": "*****",
"refresh_token": "*****",
"id_token": "*****",
"aud": "*****",
"iss": "https://sts.windows.net/*****-*****-*****-*****-*****/",
"iat": 1603911295,
"nbf": 1603911295,
"exp": 1603915195,
"amr": [
"pwd"
],
"family_name": "Joe",
"given_name": "Blow",
"ipaddr": "***.***.***.***",
"name": "Joe",
"oid": "*****-*****-*****-*****-*****",
"rh": "*****",
"sub": "*****",
"tid": "*****-*****-*****-*****-*****",
"unique_name": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6b01040e2b1804060e0f04060a0205450405060208190418040d1f45080406" rel="noreferrer noopener nofollow">[email protected]</a>",
"upn": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="107a7f7550637f7d75747f7d71797e3e7f7e7d7973627f637f76643e737f7d" rel="noreferrer noopener nofollow">[email protected]</a>",
"uti": "*****",
"ver": "1.0"
}

关于django - 如何在 DJango+Wagtail 应用程序中配置和启用 OpenID Connect?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64474583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com