本文介绍了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登录重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!