Python请求-SAML登录重定向 [英] Python Requests - SAML Login Redirect

查看:55
本文介绍了Python请求-SAML登录重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从以下URL登录网站:"https://pollev.com/login"。由于我使用的是学校电子邮件,因此门户重定向到学校的登录门户,并使用该门户对登录进行身份验证。当你输入uw.edu电子邮件(例如:myname@uw.edu)时,它就会出现。UW登录后,向https://www.polleverywhere.com/auth/washington/callback发送POST请求回调,并带有SAMLResponse头部like this。我认为我需要从pollev的登录页面模拟GET请求,然后将登录头发送到UW登录页面,但我现在所做的不起作用。

以下是我的代码:

import requests

with requests.session() as s:
     header_data = {
    'user - agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
                    '(KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
    'referer': 'https://pollev.com/login'
    }
    login_data = {
    'j_username' : 'username',
    'j_password' : 'password',
    '_eventId_proceed' : 'Sign in'
    }

    r = s.get('https://idp.u.washington.edu/idp/profile/SAML2/Redirect/SSO?execution=e2s1',
          headers=header_data, data=login_data)
    print(r.text)

现在,r.text显示了一个NoSuchFlowExecutionExecutionhtml页面。我遗漏了什么?登录网站通常需要登录、密码、推荐人和X-CSRF令牌,但我不知道如何导航重定向进行身份验证。

推荐答案

您不会成功地伪装SAML2SSO。UW的身份提供商(IDP)正在寻求支持来自服务提供商(SP)polleverywhere.com的身份验证请求。这其中的一部分是验证请求是否真的来自polleverywhere。这可能很简单,因为需要从POLLELEYWORE进行SSL连接,但可能像需要加密和签名的身份验证请求一样复杂。由于您没有这些凭据,因此生成的响应将不可读。SP已向IdP注册。

现在,可能有不同的方式登录polleverywhere--不会触发SSO请求的不同URL,但可能受到网络限制或需要其他困难的身份验证。

这篇关于Python请求-SAML登录重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆