Okta PySAML2 Пример: Как решить «SignatureError: Не удалось проверить подпись»? - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь этот пример (https://developer.okta.com/code/python/pysaml2) в Windows 10 с Python 2.7.8.

Я столкнулся с множеством проблем и исправил многие, но я просто не знаю, какЧтобы решить эту проблему.

После ввода адреса электронной почты и пароля в форме входа в Okta, я получаю сообщение об ошибке "_check_signature повышение SignatureError (" Не удалось проверить подпись ")".

некоторые людиупоминается о том, что PySAML2 не может найти xmlsec1. Я использую двоичные файлы Windows (libxmlsec-1.2.18.win32) из ​​https://www.zlatkovic.com/pub/libxml/. get_xmlsec_binary () возвращает правильный путь и имя файла - xmlsec.exe. Я предполагаю, что эта частьХорошо, так как он нашел правильный двоичный файл.

Тем не менее, я заметил файл path.sh в примере. Похоже, файл используется для настройки LD_LIBRARY_PATH и PATH. Я устанавливаю значение PATH для включениякаталог, в котором уже есть файл xmlsec.exe. Должен ли я также настроить LD_LIBRARY_PATH? Если это необходимо, какое значение мне нужно установить? Кроме того, что будет наиболее подходящимiate способ установить это в среде Windows?

Я очень потерян здесь, может ли кто-нибудь тело пролить свет на это?

Ниже приведено сообщение об ошибке.

ERROR:saml2.sigver:check_sig: 
ERROR:saml2.entity:Signature Error: Failed to verify signature
ERROR:saml2.client_base:XML parse error: Failed to verify signature
INFO:werkzeug:127.0.0.1 - - [11/Dec/2018 19:37:03] "POST /saml/sso/example-okta-com HTTP/1.1" 500 -
Traceback (most recent call last):
  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 2309, in __ call __
    return self.wsgi_app(environ, start_response)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 1741, in handle_exception
    reraise(exc_type, exc_value, tb)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\flask\app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)

  File "D:\PyProj\Okta_Study\okta-pysaml2-example-master\app.py", line 166, in idp_initiated
    entity.BINDING_HTTP_POST)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\saml2\client_base.py", line 599, in parse_authn_request_response
    binding, **kwargs)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\saml2\entity.py", line 1137, in _parse_response
    response = response.loads(xmlstr, False, origxml=origxml)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\saml2\response.py", line 510, in loads
    self._loads(xmldata, decode, origxml)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\saml2\response.py", line 335, in _loads
    **args)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\saml2\sigver.py", line 1743, in correctly_signed_response
    class_name(response), origdoc)

  File "D:\PyProj\Okta_Study\Okta_V\lib\site-packages\saml2\sigver.py", line 1558, in _check_signature
    raise SignatureError("Failed to verify signature")

SignatureError: Failed to verify signature

INFO:werkzeug:127.0.0.1 - - [11/Dec/2018 19:37:03] "GET /saml/sso/example-okta-com?__ debugger __=yes&cmd=resource&f=style.css HTTP/1.1" 200 -

INFO:werkzeug:127.0.0.1 - - [11/Dec/2018 19:37:03] "GET /saml/sso/example-okta-com?__ debugger __=yes&cmd=resource&f=jquery.js HTTP/1.1" 200 -

INFO:werkzeug:127.0.0.1 - - [11/Dec/2018 19:37:03] "GET /saml/sso/example-okta-com?__ debugger __=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -

INFO:werkzeug:127.0.0.1 - - [11/Dec/2018 19:37:04] "GET /saml/sso/example-okta-com?__ debugger __=yes&cmd=resource&f=ubuntu.ttf HTTP/1.1" 200 -

INFO:werkzeug:127.0.0.1 - - [11/Dec/2018 19:37:04] "GET /saml/sso/example-okta-com?__ debugger __=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
...