gpt4 book ai didi

azure - 使用 OpenID 和 Azure AD 的 SSO 如何工作?

转载 作者:行者123 更新时间:2023-12-03 06:38:42 25 4
gpt4 key购买 nike

我尝试了解我们与 OpenID 的集成是如何工作的。我已经阅读了文档和不同的网站,但我觉得有些与 SSO 有关的东西让我无法理解 - 我没有找到太多关于此的信息。如果您能帮我理解这些概念上的疑惑,我将非常感激。

上下文如下:使用 SSO 的 WebApp-OpenID - Azure AD,没有用户权限或角色。

如果我遗漏了什么,请纠正我。

  • 用户来 self 们的系统并访问供应商网站 (RP)。
  • RP 调用我们的授权端点以获取授权代码 - 发送 client_secret、client_id、application_id、redirect_uri ... -
  • 用户到达我们的授权端点并...问题:是否要求用户提供凭据或在 SSO 中隐式提供凭据?
  • 授予授权代码并将其发送到提供并注册的重定向 URI。
  • RP想要从该用户那里获取Access Token + ID Token。因此,使用客户端 ID + 客户端 key + 授权码等调用我们的 Token 端点。我的问题是:要获取访问 token ,是否有必要在请求中发送有关用户的信息? RP是直接从浏览器获取的吗? RP 需要发送哪些信息?
  • 访问 token + ID token 将发送到注册的重定向 URI。

非常感谢

最佳答案

我尝试在我的环境中重现相同的结果,并得到如下结果:

我创建了一个 Azure AD 应用程序:

enter image description here

为了生成授权代码,我使用了以下端点:

https://login.microsoftonline.com/TenantID/oauth2/v2.0/authorize?

client_id=ClientId
&response_type=code
&redirect_uri=RedirectUri
&response_mode=query
&scope=scope
&state=12345

生成代码时,我收到如下登录提示:

enter image description here

授权码生成成功:

enter image description here

为了生成访问 token 和 ID token ,我使用了以下参数:

https://login.microsoftonline.com/TenantID/oauth2/v2.0/token

client_id:ClientID
client_secret:ClientSecret
grant_type:authorization_code
scope:scope
code:code
redirect_uri:RedirectUri

enter image description here

当我解码访问 token 时,我可以看到如下用户信息:

enter image description here

How SSO with OpenID and Azure AD works?

  • 用户调用授权端点后,系统将提示用户在登录屏幕上输入凭据。
  • 如果不同意,用户将看到如下所示的接受屏幕

enter image description here

  • 成功登录后,将成功生成授权码。
  • 通过调用 token 参数,将成功生成访问 + ID token 并将其发送到重定向 URI。

If you are already logged in with a valid session, then there is no need to input credentials. SSO capabilities are stored at the browser's level while having an authenticated valid session.

引用:

Bizagi, One Platform; Every Process. User Guide Studio

关于azure - 使用 OpenID 和 Azure AD 的 SSO 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74665349/

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