Я создаю WMS API, который может работать с QGIS. Я хочу иметь возможность предоставить дополнительный уровень авторизации между QGIS и GeoServer (где хранятся мои данные) в API Flask, который я создаю.
Что мне нужно от QGIS, так это базовый заголовок авторизации, который я могу прочитать и проверить в своей собственной базе данных.
Я полагаю, что QGIS сначала отправит один запрос WMS без каких-либо заголовков авторизации, а затем повторит попытку с базовой авторизацией. Моя проблема в том, что я не знаю, как вернуть QGIS, что требуются заголовки авторизации, чтобы он мог отправить другой запрос.
Мой API работает при отсутствии авторизации и может передавать и возвращать данные из QGIS в Geoserver и GeoServer обратно в QGIS. Но я хочу использовать базовую авторизацию, чтобы обеспечить дополнительный шаг.
Вот код, который у меня есть до сих пор:
def get(self):
print(request.args)
print(request.headers)
if 'Auth' not in str(request.headers):
url = '<amazonDB>/geoserver/wms?request=GetCapabilities'
res = requests.get(url)
return Response(res, mimetype='text/xml')
url = '<amazonDB>/geoserver/wms?request=GetCapabilities'
res = requests.get(url, auth=('<username>', '<password>'))
return Response(res, mimetype='text/xml')
'''