開発
OTRSで他のシステムと認証情報を共有する
shimizu
皆様も日々いろいろなWebサービスを利用されていることと思いますが、各サービス毎に別々のユーザー名とパスワードを使うのは負担が大きいものです。最近ではFacebookやTwitterなどのソーシャルサービスのアカウントでログインできる個人向けサービスが増えており便利になってきていますので、業務で使う社内向けシステムでもそのような仕組みを取り入れたいものです。
ここでは、顧客からの問い合わせ・報告窓口となるチケットリクエストシステムとしてOTRSを新たにインストールしたいと考えた場合に、HTTPの基本認証を用いている他のWebシステムと認証情報を共有し、簡単なシングルサインオンを実現する方法を紹介します。
設定はシンプルで、通常通りOTRSをインストールし、基本認証と同じユーザー名で利用者アカウントを作成した後、Kernel/Config.pm内の設定「AuthModule」を下記のように変更します。「LoginURL」には基本認証のログインに失敗した際に表示するページのURLを、「LogoutURL」にはOTRSからログアウトした際に表示するページのURLを指定してください。
$Self->{AuthModule} = 'Kernel::System::CustomerAuth::HTTPBasicAuth'; $Self->{LoginURL} = 'http://host.example.com/not-authorised-for-otrs.html'; $Self->{LogoutURL} = 'http://host.example.com/thanks-for-using-otrs.html';
最後に、bin/cgi-bin/index.plに対して、HTTPの基本認証を用いている他のWebシステムと同じ認証設定を行います。
以上の設定により、既存のWebシステムにログインした後であれば、OTRSに再度パスワードを入力することなくログインすることができ、手間の軽減になります。詳しくは公式マニュアルのトピックや、Kernel/Config/Defaults.pmの400行目付近にある設定例をご覧ください。