我可以使用Azure Active Directory库(ADAL)从Azure AD获取SAML响应吗?
我想写一个脚本:我可以使用Azure Active Directory库(ADAL)从Azure AD获取SAML响应吗?,azure,saml,adal,Azure,Saml,Adal,我想写一个脚本: 使用将用户登录到Azure广告 构建一个 使用步骤1中的身份验证发出SAML请求 获取SAML响应,并对其执行某些操作(不仅仅是在浏览器中打开它) Azure广告库有没有办法做到这一点 我觉得这应该是可能的,我只是错过了一些东西。有什么想法吗? 我在Python库中尝试了很多东西和代码,但都没有用 我更喜欢Python,但我可以在Docker映像中运行它,所以语言并不那么重要 上下文 在工作中,我们使用Azure AD进行身份验证,并且可以使用Azure AD和SSO SAM
上下文 在工作中,我们使用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>
https://login.microsoftonline.com/11111111-1111-1111-11111111111/saml2?SAMLRequest=
现在,我想对AWS凭据执行类似的流程–发出SAML请求以登录,读取SAML响应,使用创建凭据,然后将它们写入~/.AWS/credentials
。我认为这意味着我必须直接访问SAML响应——浏览器只是将我放在重定向链的末尾
有什么想法吗
其他想法
- 我通过旋转无头浏览器意识到了这一点,但它并没有维护,我发现它是一个脆弱的
- 现在我有一个Python脚本,它在Chrome(我登录的地方)中打开SAML请求,然后使用来raid Chrome的cookie jar,并将其用于HTTP请求。这是可行的,但这样复制cookies感觉很奇怪。而且,如果我使用ssh连接到远程服务器,它也不起作用
- 我发现一个答案是“ADAL.JS不支持SAML2令牌”。想知道这是否已经改变了,或者我仍然被困在那里
为什么需要使用SAML?您不能使用OpenID Connect吗?Azure AD不支持用于的SAML令牌
Azure广告团队的库支持应用程序的此流。请尝试一下,或者您可以针对其本身编写代码看看,它做了您想做的事情,但使用Okta而不是Azure AD作为身份提供商。你应该能够用AAD替换相关的Okta部件。你有@alexwlchan的解决方案吗?你能回答你的问题吗?我在寻找同样的答案。