axiosを使ってKibanaにAPIでログインする


概要

xpack Securityを使っていると、Kibanaで提供されるDashboardのShare機能でログイン画面が表示される。
なのでAPIでログインしたあとにiframeを表示する、的なことをやりたかった

前提

コード


loginKibana: function(kibanaInfo, callback, error){
  const config = {  headers: {'Content-Type': 'application/json','Cache-Control' : 'no-cache', 'kbn-xsrf' : 'kibana'}};

  const data = {
    username: kibanaInfo.username,
    password: kibanaInfo.password
  }

  axios.post(`${kibanaInfo.host}/api/security/v1/login`, data, config).then(callback).catch(error);
}

callbackでiframeの表示処理を書いてあげるとログイン済みになる