RESTful APIと対話するためのPythonライブラリを構築しようとしていますが、クライアント認証にCASを使用しており、そのための適切な既存のライブラリを見つけることができませんでした。これまでに次のリンクを見つけましたが、それらがクライアントで使用されるのか、CAS自体を使用するWebサイトで使用されるのかはわかりません。誰かが使用するための良いライブラリとそれと相互作用するための私のコードを構造化するための良い方法について何かアドバイスがありますか?
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 ©: line 97, column 26
うーん、上記のエラーはマークアップ(またはcaslibが使用するバリデーター)にあるようです。
再編集:Python用のlxmlライブラリをインストールすると、失敗は削除されます。フォールバックパーサーも機能しませんでした。