Onelogin API - 在使用Duo时验证SAML声明的因子

问题描述:

我一直在开发一个应用程序,它将OneLogin Duo的终端作为我的MFA,命中api/1/saml_assertion,https://developers.onelogin.com/api-docs/1/saml-assertions/generate-saml-assertion。有几个设备元素可以返回,我不确定要做什么,并且似乎无法找到任何文档。这些元素是duo_sig_request和duo_api_hostname。Onelogin API - 在使用Duo时验证SAML声明的因子

duo_sig_request看起来是这样的:

'duo_sig_request': 'TX|<base64 encoded elements>|<what looks like a sha1 hash>:APP|<base64 encoded elements>|<what looks like a sha1 hash>' 

duo_api_hostname仅仅是双核的API网址。

base64编码的元素是用户的电子邮件,我假设的是用户的Duo ID和一个我不确定的数字,因为它随每个请求而变化。

我假设此信息旨在用于对付https://duo.com/docs/authapi#/auth以实际触发Duo推送,文本或呼叫,并且sha1是Duo身份验证的hmac签名。

有没有人成功地完成了我试图做的事情,并可以肯定我所假设的是正确的?任何人都可以告诉我第三个元素是什么(每个请求可能更改的设备ID)以及TX和APP是什么?

在此先感谢您的帮助!

+0

你检查了https://developers.onelogin.com/api-docs/1/getting-started/client-sdks吗? – smartin

+0

您可以获得MFA信息,以便您可以执行对Duo的呼叫并获得OTP代币提供给OneLogin,以便最终完成登录。 – smartin

+0

@smartin - 感谢您的回复。我确实看过sdk,我注意到它似乎没有考虑Duo,或者至少在我看https://github.com/onelogin/onelogin-python-sdk/blob时看起来如此/master/src/onelogin/api/models/mfa.py。它似乎并不期望duo_sig_request或duo_api_hostname,我无法在SDK中的任何位置找到将使用这些名称的地方。尽管我已启用自动推送,但似乎并未触发 –

联系OneLogin支持这个,看起来像它还不支持。

上有作为我们当前接口 我们有朵不允许它通过一个API使用和双核双因素的限制总是 需要Web GUI交互。所有其他MFA设备应该可以工作。

+0

OneLogin正在通过API扩展对此的支持。不确定的时间表。 –