#azure #azure-active-directory #odoo #saml-2.0
#лазурный #azure-active-directory #odoo #saml-2.0
Вопрос:
я пытаюсь внедрить единый вход для приложения Azure AD в odoo. я создал приложение и добавил настройки единого входа в Azure, я загрузил auth_saml и установил в odoo. Затем я настроил поставщиков odoo saml. когда я тестирую соединение с Azure, я получаю сообщение об ошибке 500, а также от oddo. я вставляю журнал ошибок внизу, пожалуйста, помогите, и я застрял здесь на 2 дня. заранее благодарю вас.
2021-12-10 02:57:32,491 29639 ERROR mydb werkzeug: Error on request:
Traceback (most recent call last):
File "/Users/hemanthbethu/Xaana/enigma/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
result = request.dispatch()
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 810, in dispatch
r = self._call_function(**self.params)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 359, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/Users/hemanthbethu/Xaana/enigma/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 348, in checked_call
result = self.endpoint(*a, **kw)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 916, in __call__
return self.method(*args, **kw)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 535, in response_wrap
response = f(*args, **kw)
File "/Users/hemanthbethu/Xaana/enigma/addons/auth_saml/controllers/main.py", line 137, in get_auth_request
self._get_saml_extra_relaystate(), request.httprequest.url_root.rstrip("/")
File "/Users/hemanthbethu/Xaana/enigma/addons/auth_saml/models/auth_saml_provider.py", line 216, in _get_auth_request
saml_client = self._get_client_for_provider(url_root)
File "/Users/hemanthbethu/Xaana/enigma/addons/auth_saml/models/auth_saml_provider.py", line 194, in _get_client_for_provider
spConfig = self._get_config_for_provider(base_url)
File "/Users/hemanthbethu/Xaana/enigma/addons/auth_saml/models/auth_saml_provider.py", line 186, in _get_config_for_provider
"key_file": self._get_cert_key_path("sp_pem_private"),
File "/Users/hemanthbethu/Xaana/enigma/addons/auth_saml/models/auth_saml_provider.py", line 146, in _get_cert_key_path
keys_path = model_attachment._full_path(keys.store_fname)
File "/Users/hemanthbethu/Xaana/enigma/odoo/addons/base/models/ir_attachment.py", line 91, in _full_path
path = re.sub('[.]', '', path)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/re.py", line 194, in sub
return _compile(pattern, flags).sub(repl, string, count)
Exception
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/werkzeug/serving.py", line 306, in run_wsgi
execute(self.server.app)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/werkzeug/serving.py", line 294, in execute
application_iter = app(environ, start_response)
File "/Users/hemanthbethu/Xaana/enigma/odoo/service/server.py", line 476, in app
return self.app(e, s)
File "/Users/hemanthbethu/Xaana/enigma/odoo/service/wsgi_server.py", line 112, in application
return application_unproxied(environ, start_response)
File "/Users/hemanthbethu/Xaana/enigma/odoo/service/wsgi_server.py", line 87, in application_unproxied
result = odoo.http.root(environ, start_response)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 1313, in __call__
return self.dispatch(environ, start_response)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 1279, in __call__
return self.app(environ, start_wrapped)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
return self.app(environ, start_response)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 1489, in dispatch
result = ir_http._dispatch()
File "/Users/hemanthbethu/Xaana/enigma/odoo/addons/base/models/ir_http.py", line 241, in _dispatch
return cls._handle_exception(e)
File "/Users/hemanthbethu/Xaana/enigma/odoo/addons/base/models/ir_http.py", line 209, in _handle_exception
return request._handle_exception(exception)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 748, in _handle_exception
return super(HttpRequest, self)._handle_exception(exception)
File "/Users/hemanthbethu/Xaana/enigma/odoo/http.py", line 301, in _handle_exception
raise exception.with_traceback(None) from new_cause
TypeError: expected string or bytes-like object - - -
Ответ №1:
Кажется, что путь к сертификату или ключу не задан. Таким образом, модуль пытается обработать пустую строку и терпит неудачу.
Это может происходить, хотя вы не установили флажок «Подписать», что является ошибкой в версии 3.0, о которой сообщается здесь: https://github.com/OCA/server-auth/issues/315 . в качестве временного обходного пути создайте сертификат и ключ и загрузите их, не нажимая кнопку входа.
Если вы решите использовать флажок «Подписать», вы можете столкнуться с дополнительными проблемами, такими как описано в https://github.com/OCA/server-auth/issues/321 где возникает ошибка в случае, если поставщик удостоверений не подписал утверждение.