Python请求-SAML登录重定向

Python Requests - SAML Login Redirect(Python请求-SAML登录重定向)
本文介绍了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登录重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)