1

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 &copy;: line 97, column 26

うーん、上記のエラーはマークアップ(またはcaslibが使用するバリデーター)にあるようです。

再編集:Python用のlxmlライブラリをインストールすると、失敗は削除されます。フォールバックパーサーも機能しませんでした。

4

3 に答える 3

2

CASをサポートするようにPythonRESTクライアントを変更するか、ゼロから何かを構築することによって、独自のソリューションをロールバックする必要がある場合があります(httplib2の上に何かを構築することをお勧めします)。

于 2010-07-13T18:05:53.153 に答える
0

11年後、少なくとも2つのPython CASライブラリがあり、Flaskの例が利用可能です。

python-cas-より
新しいFlask-CASのようです-Githubリポジトリがなくなりました

私はまだ個人的にこれらを機能させていないので、YMMV。

于 2021-10-07T23:49:58.670 に答える
-1

たぶん、公式のPythonの例:https ://wiki.jasig.org/display/casum/restful+api

于 2016-07-15T15:04:27.623 に答える