Mac Safariでパスワード自動入力後に自動ログインさせない方法

現在のSafariはiCloudキーチェーンの自動入力をオンにしていると強制的にログインされる

SafariではmacOS Mojave 10.14.4のSafari 12.1以降ではユーザー名やパスワードをiCloudキーチェーンで自動入力すると強制的にログインされてしまう。

画像出典 Apple

この挙動はログイン情報を保存するのをうっかり忘れて自動入力してしまった場合などに強制的にログインが行われて画面が切り替わるため非常に不便だ。

この機能自体をオフにする設定はないがワークアラウンドが存在するため紹介。

Safari自動入力後に自動ログインさせないワークアラウンド

プライベートモードを使用する

Safariのプライベートモード(プライベートウィンドウ)での自動入力に関しては少なくとも管理人の環境では自動入力を行っても自動ログインはされない。

プライベートモードで複数のWebサイトで検証してみたところ、プライベートモード時は自動入力しても自動ログインはされない

ただ、プライベートモード時においても自動ログインされてしまうというユーザーもおり、検証ではどうやら「そのWebサイトに複数のログイン情報(複数アカウント)が存在する場合、プライベートモード時は自動ログインされない」という挙動のようだ。

参考 Stop Safari 12.1 from auto-submitting forms

そのためプライベートモード時でもそのWebサイトに単一のアカウント情報しか存在しない場合は自動ログインされてしまうことがある。

また、プライベートモードのデメリットとして履歴やCookieなどの情報が一切保存されなくなってしまう。

Touch IDによるパスワード自動入力をオフにする

Touch IDによるパスワードの自動入力をオフにすれば自動入力機能を残したまま自動ログインを無効にできる

MacBookシリーズなどでTouch IDによるパスワードの自動入力をオフにすれば自動入力機能を残したまま自動ログインを無効にできる。

Touch IDによるパスワード自動入力をオフにするにはまずシステム環境設定を開く。

「Touch ID」をクリック。

「パスワードの自動入力」のチェックを外してオフにすれば以降は自動入力機能を残したまま自動ログインは無効になる。

加えてTouch IDによるパスワードの自動入力をオフにしてもmacOSの管理者権限が必要な操作には引き続きTouch IDが利用できる。

Touch IDによるパスワードの自動入力をオフにしても、その他の認証は引き続き可能なため特にデメリットはないように思える。

また、Mac miniなど、Touch IDによる生体認証が存在しないMacでは自動ログインは行われない。

ただ、僕の記憶が正しければ以前まではTouch IDをオフにしたり、Mac mini上のSafariであっても自動入力を行うと自動ログインされてしまうという挙動だった気がするが、現在ではTouch IDをオフにしていたり、Touch IDが存在しないMacではいかなるWebサイトで自動入力を行っても自動ログインはされない。

僕はMacBookでもMac miniでもSafariのデバッグメニューを下記ターミナルコマンドで有効にしているため、もしTouch IDによるパスワードの自動入力をオフにしても自動ログインされてしまう場合はデバッグメニューを有効にするといいかもしれない(単なる僕の記憶違いであり、デバッグメニューの有効化は関係ない可能性も大いにある)。

デバッグメニュー有効化コマンド
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true

なお、もし上記コマンドでデバッグメニューが有効化できない場合は下記記事を参照。

macOS Big Sur/CatalinaのSafariでデバッグメニューを有効にする

まとめ

少なくとも管理人の環境ではプライベートモード、あるいはTouch IDによるパスワードの自動入力をオフにすれば自動ログインは行われないため、自動入力による自動ログインに困っている人は本記事の方法を試してみて頂きたい。