Автоматический вход на встроенную панель управления Kibana iframe - PullRequest
0 голосов
/ 20 июня 2019

Чего я хочу достичь

Я вставил в свой веб-приложение код iframe панели инструментов Kibana, который отлично работает. Я пытаюсь пропустить экран входа.

Что я уже пробовал

Поскольку у меня уже есть учетные данные пользователя в памяти, я решил, что вызов AJAX на /api/v1/auth/login перед загрузкой встроенной визуализации должен установить соответствующий файл cookie и пропустить экран входа.

Проблема в том, что Kibana примет запрос, только если у него есть заголовок kbn-version. Но если я добавлю заголовок kbn-version в запрос AJAX, предварительный запрос OPTIONS завершится неудачно с:

«Ошибка CORS: некоторые заголовки запрещены»

Я попытался добавить kbn-version к некоторым параметрам конфигурации Hapi, таким как server.cors.additionalHeaders, server.cors.headers, server.cors.exposedHeaders и server.cors.additionalExposedHeaders, но ни один из них, похоже, не работает.

Это мой custom-kibana.yml файл:

$ cat custom-kibana.yml 
---
# Default Kibana configuration from kibana-docker.

server.name: kibana
server.host: "0"
server.cors : true
server.cors.origin: ['*']
server.cors.additionalHeaders: ['kbn-xsrf', 'kbn-version']
server.cors.headers: ["accept", "authorization", "content-type", "if-none-match", "origin", "kbn-xsrf", "kbn-version"]
server.cors.exposedHeaders: ["accept", "authorization", "content-type", "if-none-match", "origin", "kbn-xsrf", "kbn-version"]
server.cors.additionalExposedHeaders: ['kbn-xsrf', 'kbn-version']
# server.ssl.enabled: true
# server.ssl.key: kibana.pem
# server.ssl.certificate: kibana-key.pem
elasticsearch.url: https://localhost:9200
elasticsearch.ssl.verificationMode: none
elasticsearch.username: kibanaserver
elasticsearch.password: <pw>
elasticsearch.requestHeadersWhitelist: ["securitytenant","Authorization"]

opendistro_security.multitenancy.enabled: true
opendistro_security.multitenancy.tenants.preferred: ["Private", "Global"]
opendistro_security.readonly_mode.roles: ["kibana_read_only"]

Мой вопрос

Как пропустить экран входа, либо решив проблему, с которой я столкнулся, либо другим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...