Python RESTful клиент с аутентификацией CAS - PullRequest
1 голос
/ 13 июля 2010

Я пытаюсь создать библиотеку python для взаимодействия с нашим RESTful API, но она использует 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.)

Снова отредактируйте: ошибка удаляется после установки библиотеки lxml для python. Резервный парсер не сработал.

Ответы [ 2 ]

2 голосов
/ 13 июля 2010

Возможно, вам придется свернуть собственное решение, либо изменив клиент python rest для поддержки CAS, либо создав что-то с нуля (я бы порекомендовал поверх httplib2.)

0 голосов
/ 15 июля 2016

Может быть, официальный пример Python в: https://wiki.jasig.org/display/casum/restful+api

...