GUIでログインして認証情報(sessionid)をオリジナルのPHPに取得出来るか?

ZABBIX 3.0.7にてオリジナルアプリ(ページ)を作成中ですが、
ログインを本来のZABBIXログイン画面で行おうと考えております。
ログイン後はZABBIXユーザー設定のTOPページ指定によって
オリジナルアプリのURLへ飛ばす方法です。

ZABBIXログイン後に呼び出されたPHP内でAPIを使って今の認証キー(sessionid)を
取得出来ないか、もしくはログイン時に使用したユーザー情報やパスワード情報といった
認証情報を引継いでsessionidを再取得する事が出来ないか調べています。
(ただ後者はゴミが残るので嫌ではありますが)

因みにオリジナルPHPは全てZABBIXサーバー上に置いてあります。
そのPHPでZABBIX API群(PHP)の"/usr/share/zabbix/include"以下の幾つかを
requireすれば"$sessionId"で取得出来るのではと思ったのですが。。。

DBに格納されているのは分かるのですがどうやって特定のsessionidを抽出するのか
分からず悩んでいるところです。

GUIログインからの認証情報をユーザーAPIに引き継ぐ事が出来ますでしょうか?

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

単純にrequireするだけでは実現できないと思います。
ZabbixのAPIで、現在認証済みのセッション情報を取得するAPIも用
意されていません。

画面の遷移には、クッキーやhidden属性のパラメータが必要であっ
たはずです。
各画面の遷移内でも、必要となるパラメータを引き継ぎながら遷移
するようにすることになるでしょう。

ZabbixのWebインターフェースと密接に連携しようとすると、Zabbix
のバージョンアップの度に修正が必要となる場合があるのでご注意
ください。

ユーザー Koji Okano の写真

TNKさま

ご回答ありがとうございます。
またレスポンスが無く申し訳ありません。

> ZabbixのWebインターフェースと密接に連携しようとすると、
> Zabbixのバージョンアップの度に
> 修正が必要となる場合があるのでご注意ください。

仰るとおりと思います。
ログイン画面を有効に使い、
開発を短縮しようと思っておりましたが
結局オリジナルのログイン画面を作ってしまいました。

今回のご回答は今後APIを利用する際に役立てたいと思います。
ありがとうございました。