在我们的 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>