代码之家  ›  专栏  ›  技术社区  ›  Daenyth

具有CAS身份验证的python restful客户机

  •  1
  • Daenyth  · 技术社区  · 14 年前

    我正试图构建一个与RESTfulAPI交互的python库,但是它使用cas进行客户机身份验证,我还没有找到任何好的现有库。到目前为止,我已经找到了以下链接,但我不确定这些链接是用于客户端还是用于使用CA本身的网站。有人对一个好的库有什么建议吗?有没有一个好的方法来构造我的代码来与之交互?

    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使用的验证器)。

    再次编辑:安装lxml库for python后,故障被删除。回退分析器也不能正常工作。

    2 回复  |  直到 8 年前
        1
  •  2
  •   mikerobi    14 年前

    您可能需要使用自己的解决方案,要么修改python rest客户机来支持CA,要么从头开始构建(我建议您使用httplib2之上的版本)。

        2
  •  -1
  •   RedSpooler    8 年前

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