Shibbolethのログインページをブックマーク可能にする


一般論として、Shibbolethのログインページはブックマークできません。もちろんブラウザからブックマーク操作をすることは可能ですが、再度そのブックマーク経由でログインしようとした場合、ログイン対象のアプリが識別できず、ユーザにとっては謎のエラーが出てしまいログインできません。

そこで、次のような方法を取れば、仮にブックマークしてしまった場合であっても、ポータルアプリなど、一番良く使われるであろうアプリケーションのログイン画面にリダイレクトが可能です。この手法は、ポータルのようなアプリがあることが前提となります。学認で専ら外部のアプリのみを利用している場合は、ローカルアプリとして学認ポータル的なものを作ると良いかもしれません。学認IdPにおけるローカルアプリの作り方に関してはこちらをご覧ください。

手法は超簡単です。Shibboleth IdPのlogin.jsp内で、ログイン対象アプリは <idpui:serviceName/> で表示されます。この部分を囲むタグ(なければ<span>を作れば良い)の中身をJavaScriptからDOMで読み取り、それが”Unspecified Service Provider”という文字列であれば、JavaScriptでポータルアプリのログインURLに飛ばしてやればよいのです。

こうすれば、IdPのログイン画面をブックマークしても、ユーザに表示されるのはUnspecified Service Providerへの謎のログイン画面ではなく、無事にポータルアプリ用のIdPログイン画面が瞬時に表示されます。

Tips的ですが、Shibbolethのユーザビリティで初心者が一番引っかかりやすいだろう部分を、これで解決できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です