我正试图从Windows上的Python应用程序访问一个使用Kerberos身份验证(公司内部)的REST服务。然而,该服务似乎被配置为仅当我尝试使用请求kerberos进行连接时才期望SPNEGO,如下所示:
requests.get('servicename', auth=HTTPKerberosAuth())
它从服务器产生一个500错误:
javax.servlet.ServletException: GSSException: No credential found for: 1.2.840.113554.1.2.2
我的猜测是,服务器被配置为只期望SPNEGO,而Python客户端只支持Kerberos。
我尝试过安装PyKerberos,但失败了,正如它在系统上预期的那样krb5,我是在Windows下安装的。有没有可用的库可以帮助我在Windows中从Python进行SPNEGO调用?
如果其他人也有类似的问题,可以通过将pycurl与pycurl结合使用来解决。HTTPAUTH_GSSNEGOTIATE属性集。