qwc-services / qwc-ogc-service

QWC OGC service
MIT License
3 stars 11 forks source link

Request with basic auth does not work anymore since v2023.05.12 #14

Closed danceb closed 11 months ago

danceb commented 11 months ago

Since the version v2023.05.12 an request results in an error if its a request with user credentials and the auth service should be checked for permissions.

qwc-ogc-service_1              | [2023-07-19 13:05:32,874] DEBUG in server: Checking basic auth via http://qwc-auth-service:9090/verify_login
qwc-ogc-service_1              | Traceback (most recent call last):
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask/app.py", line 2213, in __call__
qwc-ogc-service_1              |     return self.wsgi_app(environ, start_response)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask/app.py", line 2193, in wsgi_app
qwc-ogc-service_1              |     response = self.handle_exception(e)
qwc-ogc-service_1              |                ^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask_restx/api.py", line 673, in error_router
qwc-ogc-service_1              |     return original_handler(f)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask_restx/api.py", line 671, in error_router
qwc-ogc-service_1              |     return self.handle_error(e)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask/app.py", line 2190, in wsgi_app
qwc-ogc-service_1              |     response = self.full_dispatch_request()
qwc-ogc-service_1              |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask/app.py", line 1486, in full_dispatch_request
qwc-ogc-service_1              |     rv = self.handle_user_exception(e)
qwc-ogc-service_1              |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask_restx/api.py", line 673, in error_router
qwc-auth-service_1             | [2023-07-19 13:05:32,887] INFO in runtime_config: Reading runtime config 'config/default/dbAuthConfig.json'
qwc-ogc-service_1              |     return original_handler(f)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask_restx/api.py", line 671, in error_router
qwc-ogc-service_1              |     return self.handle_error(e)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask/app.py", line 1484, in full_dispatch_request
qwc-ogc-service_1              |     rv = self.dispatch_request()
qwc-ogc-service_1              |          ^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask/app.py", line 1469, in dispatch_request
qwc-ogc-service_1              |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask_restx/api.py", line 404, in wrapper
qwc-ogc-service_1              |     resp = resource(*args, **kwargs)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask/views.py", line 109, in view
qwc-ogc-service_1              |     return current_app.ensure_sync(self.dispatch_request)(**kwargs)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask_restx/resource.py", line 46, in dispatch_request
qwc-ogc-service_1              |     resp = meth(*args, **kwargs)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/flask_jwt_extended/view_decorators.py", line 154, in decorator
qwc-ogc-service_1              |     return current_app.ensure_sync(fn)(*args, **kwargs)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/srv/qwc_service/server.py", line 74, in get
qwc-ogc-service_1              |     identity = get_identity(ogc_service)
qwc-ogc-service_1              |                ^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/srv/qwc_service/server.py", line 47, in get_identity
qwc-ogc-service_1              |     resp = requests.post(login_url, data=auth)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/requests/api.py", line 115, in post
qwc-ogc-service_1              |     return request("post", url, data=data, json=json, **kwargs)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/requests/api.py", line 59, in request
qwc-ogc-service_1              |     return session.request(method=method, url=url, **kwargs)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 587, in request
qwc-ogc-service_1              |     resp = self.send(prep, **send_kwargs)
qwc-ogc-service_1              |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/requests/sessions.py", line 701, in send
qwc-ogc-service_1              |     r = adapter.send(request, **kwargs)
qwc-ogc-service_1              |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/requests/adapters.py", line 486, in send
qwc-ogc-service_1              |     resp = conn.urlopen(
qwc-ogc-service_1              |            ^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 790, in urlopen
qwc-api-gateway_1              | 2023/07/19 13:05:32 [error] 21#21: *1 upstream prematurely closed connection while reading response header from upstream, client: 192.168.208.1, server: , request: "GET /ows/alkis?SERVICE=WMS&REQUEST=GetCapabilities HTTP/1.1", upstream: "http://192.168.208.8:9090/ows/alkis?SERVICE=WMS&REQUEST=GetCapabilities", host: "localhost:8080"
qwc-ogc-service_1              |     response = self._make_request(
qwc-ogc-service_1              |                ^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/urllib3/connectionpool.py", line 496, in _make_request
qwc-ogc-service_1              |     conn.request(
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/urllib3/connection.py", line 392, in request
qwc-ogc-service_1              |     for chunk in chunks:
qwc-ogc-service_1              |   File "/usr/lib/python3.11/site-packages/urllib3/util/request.py", line 226, in chunk_readable
qwc-ogc-service_1              |     datablock = body.read(blocksize)  # type: ignore[union-attr]
qwc-ogc-service_1              |                 ^^^^^^^^^^^^^^^^^^^^
qwc-ogc-service_1              | TypeError: 'NoneType' object is not callable
manisandro commented 11 months ago

Thanks, should be fixed in qwc-ogc-service-v2023.07.20.