gpt4 book ai didi

azure - 我可以使用 Azure Active Directory 库 (ADAL) 从 Azure AD 获取 SAML 响应吗?

转载 作者:行者123 更新时间:2023-12-03 00:05:37 25 4
gpt4 key购买 nike

我想编写一个脚本:

  1. 使用 device code mechanism 将用户登录到 Azure AD
  2. 构造一个 SAML SSO request URL
  3. 使用第 1 步中的身份验证发出 SAML 请求
  4. 获取 SAML 响应,并对其执行某些操作(不仅仅是在浏览器中打开它)

有没有办法使用 Azure AD 库来做到这一点?

我觉得这应该是可能的,但我只是错过了一些东西。有任何想法吗?我尝试了很多东西并尝试了Python库中的代码,但没有成功。

我更喜欢 Python,但我可以在 Docker 镜像中运行它,因此语言并不那么重要。

<小时/>

上下文

在工作中,我们使用 Azure AD 进行身份验证,并且可以使用 Azure AD 和 SSO SAML 登录 AWS 控制台。

如果我构建适当的 SAML 请求 URL 并在浏览器中打开它,我将完成浏览器内身份验证流程。当我登录时,Azure AD 返回 SAML 响应,最终我的浏览器将我重定向到 AWS 控制台。它的 URL 格式如下:

https://login.microsoftonline.com/11111111-1111-1111-11111111111/saml2?SAMLRequest=<base64 encoded string>

现在我想对 AWS 凭证执行类似的流程 – 发出 SAML 请求登录、读取 SAML 响应、使用 assume_role_with_saml 创建凭证,然后将它们写入 ~/.aws/credentials。我认为这意味着我必须直接访问 SAML 响应 - 浏览器只是将我放在重定向链的末尾。

有什么想法吗?

<小时/>

其他想法

  • 我知道 aws-azure-login npm package它通过启动 headless 浏览器来实现这一点 - 但它没有维护,而且我发现它很不稳定。

  • 现在我有一个 Python 脚本,可以在 Chrome(我登录的地方)中打开 SAML 请求,然后使用 browsercookie library攻击 Chrome 的 cookie jar 并将其用于 HTTP 请求。这可行,但是以这种方式复制 cookie 感觉很奇怪。另外,如果我通过 ssh 连接到远程服务器,它就不起作用。

  • 我从 a year and a half ago 找到了答案上面写着“ADAL.JS 不支持 SAML2 token ”。想知道情况是否已经改变,或者我仍然陷入困境?

最佳答案

否 - ADAL 是 OpenID Connect 并返回 JWT token 。

为什么需要使用 SAML?您不能使用 OpenID Connect 吗?

关于azure - 我可以使用 Azure Active Directory 库 (ADAL) 从 Azure AD 获取 SAML 响应吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57878011/

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