Office365の リリースノート にも記載がありますが、Windows7もしくは「認証に対する保護の強化」をインストールしたXP,Vistaにおいて、FirefoxやChromeでAD FS環境でのシングルサインオンを実施しようとするには少し設定変更が必要になります。(7/2追記修正)
確かに、リリースノートを読んでみると、
ユーザーが Mozilla Firefox Web ブラウザーを使用してフェデレーションの資格情報で Office 365 にサインインしようとすると、正しいユーザー名とパスワードを入力していても、正常にサインインできず、資格情報を入力するよう何度も求められる場合があります。
正常にサインインできるようにするには、ユーザーのコンピューターに以下のレジストリ設定を適用します。
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa] "SuppressExtendedProtection"=dword:00000001 "LmCompatibilityLevel"=dword:00000003
と記載があります。(むむっ、レジストリですか…クライアント環境への配布を考えるとハードルが結構高いですね。) まあ、とりあえずIEの設定変更用WSH撒くなら中に入れちゃえば同じですかね。
FirefoxSSO.vbs(要:管理者権限での実行)
Option Explicit Dim WSHShell Set WSHShell = CreateObject("WScript.Shell") WSHShell.RegWrite "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaSuppressExtendedProtection", 1, "REG_DWORD" WSHShell.RegWrite "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaLmCompatibilityLevel", 3, "REG_DWORD"
これでログインできるようになったかな?
でも一応ログインはできました。そうです、Firefoxはデフォルトだとログオンしているユーザの資格情報でログインに行かないんでした。これは設定をいじれば行けそうです。アドレスバーに「about:config」と入力し、動作保証対象外になりますという不穏なメッセージをくぐり抜けます。
フィルタ欄に、network.automatic-ntlm-auth.trusted-urisと入力して変更場所を特定します。
そして、ここの値にAD FSサーバのサービス名(例:sts.example.com)を入力します。
さて、これで…再度ログインを試してみると、無事シングルサインオンできました。
う~ん、確かにこれは全ユーザにはやらせたくないですね…Microsoftの推奨する解決法が「IE8使ってください」とか本末転倒なこと言うのも、ある意味正しいのかも。
IEのゾーンの設定が引き継がれるらしく、AD FSサーバがイントラネットゾーンとして認識されていれば自動的にログインが可能です。
Pingback: IE以外でADFSにSSOする(2012R2編) | 日々徒然