FirefoxでのOffice365へのシングルサインオン

 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使ってください」とか本末転倒なこと言うのも、ある意味正しいのかも。

ちなみに、Chromeだと

IEのゾーンの設定が引き継がれるらしく、AD FSサーバがイントラネットゾーンとして認識されていれば自動的にログインが可能です。

One thought on “FirefoxでのOffice365へのシングルサインオン

  1. Pingback: IE以外でADFSにSSOする(2012R2編) | 日々徒然

コメントを残す

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