【Q&Aコーナー】ADFSのサインインページをカスタマイズ

皆さんこんにちは。
当ブログが100万PVを超えていることに全く気が付いていなかった国井です。

先日、ADFS2.0を扱っているお客様にお会いする機会がありました。
そのお客様はADFS3.0 (Windows Server 2012 R2のADFS) にアップグレードする機会があり、ADFS3.0になるとIISを利用しなくなるので、今までとは色々な面で面倒が生じるという話をされていました。

その「面倒」のひとつに当たるのが、ADFSのサインインページのカスタマイズです。

たとえば、サインインページをカスタマイズしたい場合、ADFS2.0のときにはIISのディレクトリに保存されている各種ファイルを編集すればカスタマイズできるページもありましたが、その手法はADFS3.0では利用できません。そこで、今日はADFSのサインインページをカスタマイズする方法を紹介しておきます。

と言いたいところなのですが、実はマイクロソフトさんのWebサイトにカスタマイズ方法は紹介されています。

■AD FS サインインページのカスタマイズ
https://technet.microsoft.com/ja-jp/library/dn280950.aspx

ですので、上記サイトをご覧いただければ解決するのですが、私からは1点だけ補足しておきます。

補足事項を説明するために、ひとつカスタマイズを行ってみます。
その前にデフォルトのサインインページを確認しておきます。

image

確認できたら、ロゴのカスタマイズを行ってみましょう。
今回は弊社(株式会社ソフィアネットワーク)のロゴ(logo.gif)を用意してみました。

logo

このロゴファイルをADFSサーバーのc:\toolsフォルダーに保存し(保存場所はどこでも良いです)、ADFSサーバーから以下のPowerShellコマンドレットを実行します。

Set-AdfsWebTheme -TargetName default -Logo @{path=”c:\tools\logo.gif”}

出来上がったら、サインインページにアクセスしてみましょう。

image

すると、いかがでしょうか?
文字で表されていた領域がロゴに変わっていることが確認できます。

■ ■ ■

長くなりましたが、ここからが本題です。
ADFSサーバーで設定したカスタマイズはWebアプリケーションプロキシ(ADFSプロキシ)経由でのアクセスはどうなってしまうのでしょうか?

ご心配無用です。
ADFSサーバーで設定したカスタマイズはWebアプリケーションプロキシにも引き継がれるので、Webアプリケーションプロキシで別途、同じ設定を行う必要はありません。
Webアプリケーションプロキシからのアクセスはご覧のとおり。

image

PowerShellからサインインページをカスタマイズするという方法はあらかじめ決められた部分しかカスタマイズできないことを意味しますが、それでも多くのオプションを用意しているので、とても多岐にわたるカスタマイズが可能です。

たとえば、ロゴで言うと、-TargetName の後ろをdefaultから特定の証明書利用者信頼の名前に変えれば、特定のサービスにアクセスするときだけ有効なロゴを表示させることもできますし、サインインページの左側の画像の変更、サインインページのメッセージ、免責事項の表示、などなどたくさんあります。
さらに、エラーページのカスタマイズだって、できちゃいます。それもエラーページ共通のメッセージではなく、エラーの種類に合わせてメッセージも変えられるので、すばらしいですね!
ちなみに、下のエラーページのカスタマイズPowerShellコマンドレットはデバイス認証に失敗したときのカスタムエラーメッセージなのですが、メッセージ文の中にHTMLタグを入れておくことも可能です。Bタグで太文字にしたり、Aタグでリンクを張ったり、Pタグで改行するなど、ここまでのことができれば、思い通りのサインインページが作れそうですね。

Set-AdfsRelyingPartyWebContent -Name “Microsoft Office 365 Identity Platform” -ErrorPageDeviceAuthenticationErrorMessage “<b>Office 365 を利用するには事前にデバイス登録が必要です。</b>”

お試しあれ!