Python Requests - SAML Login Redirect(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登录重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Python请求-SAML登录重定向
基础教程推荐
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01