具有CAS身份验证的Python RESTful客户端

时间:2010-07-13 17:55:12

标签: python rest cas

我正在尝试构建一个用于与我们的RESTful API交互的python库,但它使用CAS进行客户端身份验证,而我无法找到任何好的现有库。到目前为止,我已经找到了以下链接,但我不确定它们是否打算用于客户端或使用CAS本身的网站。有没有人对一个好的库有任何建议,并且有一个很好的方法来构建我的代码来与它进行交互?

https://wiki.jasig.org/download/attachments/28213515/pycas.py.txt

https://sp.princeton.edu/oit/sdp/CAS/Wiki%20Pages/Python.aspx

http://github.com/benoitc/restkit/

http://morethanseven.net/2009/02/18/python-rest-client.html

我也尝试使用caslib,但是无法正常工作:

>>> import caslib
>>> srv = caslib.CASServer('https://my.cas/auth')
>>> svc = caslib.CASService('https://my.service/foo')
>>> caslib.login_to_cas_service(srv.login(svc),'user@example.com','password')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "caslib/cas_dance.py", line 250, in login_to_cas_service
    raise CASLoginError('Could not parse the document at %s: %s' % (login_fh.url, errors))
caslib.cas_dance.CASLoginError: Could not parse the document at https://my.cas/auth/login?service=https%3A%2F%2Fmy.service%2Ffoo: undefined entity &copy;: line 97, column 26

嗯,上面的错误似乎出现在我们的标记中(或caslib使用的验证器。)

再次编辑:在为python安装lxml库后删除了失败。后备解析器也不起作用。

2 个答案:

答案 0 :(得分:2)

您可能需要通过修改python rest客户端来支持CAS,或者从头开始构建一些东西(我建议在httplib2之上)来推广自己的解决方案。

答案 1 :(得分:-1)

也许,官方python示例:https://wiki.jasig.org/display/casum/restful+api