0

在我们的 Delphi 桌面应用程序中,我们目前使用一个简单的 SAML 请求检查 Office365 中用户的凭据,该请求类似于下面的代码片段。我们可以设法发布这个soap请求,并使用端点、用户名和密码,我们可以检查用户是否正确输入了凭据,因此,我们让用户进入应用程序。我们正在尝试对 Google 帐户使用相同的登录程序。有没有一种方法可以在不借助浏览器的情况下检查凭据。有没有我们可以检查的API?如果没有,是否有人可以帮助我们提出想法..我们也在努力让 mfa 工作,但我想这意味着在 delphi 中打开了一个虚拟浏览器?或者我们可以使用谷歌身份验证器吗?赞赏。多谢你们

    <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
              xmlns:a="http://www.w3.org/2005/08/addressing"
              xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
          <s:Header>
            <a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue</a:Action>
            <a:ReplyTo>
             <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
            </a:ReplyTo>
            <a:To s:mustUnderstand="1">https://login.microsoftonline.******</a:To>
            <o:Security s:mustUnderstand="1"
               xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-*******t-1.0.xsd">
              <o:UsernameToken>
                <o:Username>{username}</o:Username>
                <o:Password>{password}</o:Password>
             </o:UsernameToken>
            </o:Security>
          </s:Header>
          <s:Body>
            <t:RequestSecurityToken xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
              <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
                <a:EndpointReference>
                  <a:Address> {ENDPOINT}</a:Address>
                </a:EndpointReference>
             </wsp:AppliesTo>
              <t:KeyType>http://schemas.xmlsoap.org/ws/******</t:KeyType>
              <t:RequestType>http://schemas.xmlsoap.org/*******</t:RequestType>
              <t:TokenType>*******</t:TokenType>
            </t:RequestSecurityToken>
          </s:Body>
        </s:Envelope>

4

0 回答 0