gpt4 book ai didi

curl - 使用 cURL 对 SharePoint Online 进行身份验证(使用 ADFS 2.1 作为 IP-STS)

转载 作者:行者123 更新时间:2023-12-01 15:45:11 26 4
gpt4 key购买 nike

我正在尝试通过执行以下操作来设置一个简单的脚本,该脚本使用 cURL 来监视我们的 SharePoint Online 网站:-

  • 使用联合身份 (ADFS 2.1) 使用“../adfs/services/trust/13/UsernameMixed”端点登录我们的 Office 365 环境
  • 获取 SharePoint cookie(FedAuth 等)
  • 浏览到 SharePoint 网站(验证内容等)

  • 第一步,我使用 cURL 将以下 POST 提交到我们的 ADFS 端点:
    curl https://sts.contoso.com/adfs/services/trust/13/UsernameMixed --data @req.txt -H "Content-Type: application/soap+xml" -o out.txt

    我发送的 SOAP 信封请求以下内容(这只是请求的摘录):
    <trust:RequestSecurityToken xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
    <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
    <a:EndpointReference>
    <a:Address>https://login.microsoftonline.com/extSTS.srf</a:Address>
    </a:EndpointReference>
    </wsp:AppliesTo>
    <trust:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer</trust:KeyType>
    <trust:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</trust:RequestType>
    <trust:TokenType>urn:oasis:names:tc:SAML:1.0:assertion</trust:TokenType>
    </trust:RequestSecurityToken>

    我从中得到的响应包含一个 X509 证书、一个摘要和一个签名,我不知道该怎么做。我可以在网上看到的所有指南都会导致从这个初始请求返回一个“BinarySecurityToken”,您可以提取它并发布到 Sharepoint.com 以获得必要的 cookie 以获取访问权限。诚然,他们都在使用 MicrosoftOnline STS(云凭据),所以这只是 Microsoft STS 可以实现但 ADFS 服务器不能实现的吗?

    或者我的方法有什么明显的错误?

    任何帮助将不胜感激。

    干杯,

    邓肯

    最佳答案

    所以我通过找到这个有用的堆栈答案(对一个相当相似的问题)来解决这个问题,它向我展示了发送到 Microsoft STS 的格式(底部答案):

    Claim auth from ADFS

    完成此操作后,我能够获得“t=Eddejdnefdn23enjd...”值,我能够将其发布到我的 SharePoint 网站并获得必要的 SP cookie(FedAuth 等)。

    我现在被困在如何让这个概念与 OWA 一起工作......因为当我应用相同的逻辑时,Microsoft STS 返回带有密码数据的加密 XML,而不是二进制安全 token ......这再次让我感到困惑,所以如果有人有任何想法请告诉我。

    干杯

    关于curl - 使用 cURL 对 SharePoint Online 进行身份验证(使用 ADFS 2.1 作为 IP-STS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28618480/

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