DUO 2FA通过Python进行登录尝试

DUO 2FA通过Python进行登录尝试,python,authentication,Python,Authentication,我通过Python脚本访问汇流页面,以检索需要解析的信息。我的组织向汇流登录添加了DUO 2FA。我的登录尝试返回标准的DUO iFRAME页面 当我通过浏览器登录时,这通常会发送推送,而无需我做任何事情。但是,我的Python请求似乎没有做到这一点(我没有得到推送) 以下是我的测试代码: import cookielib import urllib import urllib2 cj = cookielib.CookieJar() opener = urllib2.build_opener(

我通过Python脚本访问汇流页面,以检索需要解析的信息。我的组织向汇流登录添加了DUO 2FA。我的登录尝试返回标准的DUO iFRAME页面

当我通过浏览器登录时,这通常会发送推送,而无需我做任何事情。但是,我的Python请求似乎没有做到这一点(我没有得到推送)

以下是我的测试代码:

import cookielib
import urllib
import urllib2

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'RedditTesting')]
urllib2.install_opener(opener)
payload = {
      'op': 'login-main',
      'os_username': MY_USERNAME,
      'os_password': MY_PASSWORD
}
url = MY_URL
data = urllib.urlencode(payload)
req = urllib2.Request(url, data)
resp = urllib2.urlopen(req)
resp.read()
这将产生以下结果(为可读性而分析):


双重认证
双重认证
init({'host\':我们的API服务器,
\“签名请求”:我的签名响应代码,
\“post\u action\”:“\\/plugins\\/servlet\\/duogin?duo.originalurl.key=MY\u URL”
})
#迪奥伊夫拉姆酒店{
宽度:100%;
最小宽度:304px;
最大宽度:620px;
高度:330px;
}
我是应该解析sig_请求值并发送/auth-API请求,还是应该已经向我发送了一个推送。我不确定这种情况下的正常行为应该是什么,我能找到的所有文档似乎都是针对服务器端的


提前谢谢。

德拉科先生,你解决了这个问题吗?从技术上说,没有,但实际上,是的。该组织有专门的反渗透访问广告账户,不需要通过API调用DUO 2FA。
<!DOCTYPE html>
<html>
  <head>
    <title>Duo Authentication</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
  </head>

  <body style="text-align: center;">
    <h1>Duo Authentication</h1>

     <div>
       <script src="/download/resources/com.duosecurity.confluence.plugins.duo-twofactor:resources/Duo-Web-v2.js"></script>
       <script>
         Duo.init({ \'host\': OUR_API_SERVER, 
                    \'sig_request\': MY_SIGNED_RESPONSE_CODE,
                    \'post_action\': "\\/plugins\\/servlet\\/duologin?duo.originalurl.key=MY_URL" 
         })
       </script>
       <iframe id="duo_iframe" frameborder="0"></iframe>

   <style>
          #duo_iframe {
            width: 100%;
            min-width: 304px;

      max-width: 620px;
            height: 330px;
          }
        </style>
     </div>
  </body>
</html>