LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ

Macのスリープ時にGoogleから自動でログアウトする方法

この記事はLCL Advent Calendar 2021 - 10日目です。

qiita.com

モバイルアプリエンジニアの山下です。

今年も気がつけば12月となり、そして入社してから4年と4か月が経っていました。

入社エントリーを振り返ると勝どきのトリトンタワー40階の絶景と広々とした明るい雰囲気の空間、そして入社当時のやる気と希望に満ち溢れている様子が懐かしく思います。

techblog.lclco.com

あれから4年経った今、LCLはカカクコムの子会社となり、オフィスも勝どきから恵比寿へ引っ越し、多くのメンバーの入れ替わりがありました。

変化があったのは会社だけでなく、世の中の日常も激変しました。

多くの会社で在宅勤務が取り入れられ、LCLでも私が入社した当時はエンジニアのみ在宅勤務が許可されていましたが、現在はエンジニアに限らず全社員が在宅勤務できる環境となっています。*この環境は一時的なもので今後も続くかはわかりません

誰もが自宅から仕事をする環境となり、社内セキュリティの重要度が一層上がりました。
特に改めて見直されたが各サービスのログイン認証まわりです。具体的にはSSOや二段階認証の設定やPC持ち出し時の状態に決まりごとが設けられました。

その中のひとつにグループウェアで利用しているGoogleからのログアウトがあります。

PC持ち出し時および、終業時にログアウトをするルールが設けられました。
これは在宅勤務で家から出ない人も対象でログアウトは手動で行わなければいけません。

ログアウト状況は月次でチェックされており、忘れると評価に影響される大変お厳しいものですが、セキュリティは大切なので致し方ありません。毎日ポチッとログアウトをします。

でも人間なので忘れます。ましてやエンジニアたるもの毎日手動で操作をしなければいけないことはしたくありません。

上位プランであればセッション継続時間の設定をすることで自動ログアウトできるのでアップグレードしてしてほしいところですが、きっと検討の末の今の環境だと思うので手元でどうにかするしかありません。

そこで考えたのがMacをスリープした際に、自動でログアウトするようにできないかです。
エンジニアたるもの些細な面倒を放置していてはいけません。

正確には最初からスリープと連動させることを思いついたのではなく、ログアウト用URLを叩けば一発ログアウトされることを知ったのをSlackで共有したところ、チームメンバーがあるツールと組み合わせると自動ログアウトできそうと提案してくれました。これぞチームワークです。

この世の中で同じ状況にある方がいると思うので今回は設定方法を紹介します。

本題の自動ログアウトの設定

今回使用するもの

sleepwatcherは、Macのスリープおよびスリープ復帰時にスクリプトを実行するツールです。ログアウト用URLはこれをブラウザで開くだけでログイン中のアカウントから即ログアウトできます。つまり、「スリープ時にこのURLをブラウザで開く」ということをします。

インストール

Homebrewでインストールできます。

$ brew install sleepwatcher

スクリプトの追加

スリープ時は~/.sleep、スリープから復帰時は~/.wakeupにスクリプトを配置します。

$ touch ~/.sleep
$ chmod +x ~/.sleep #実行権限も与えておきます

今回は17時以降でスリープした際に自動ログアウトされてほしいので、openコマンドでログアウト用URLをブラウザで開くスクリプトを前者に追加します。

#!/bin/sh

if [ 17 -lt `date +%H` ]; then
  open https://accounts.google.com/Logout
fi

sleepwatcherを起動

スクリプトの追加後はsleepwatcherを起動します。

$ brew services start sleepwatcher

以上で設定は完了です。

これでスリープすれば自動ログアウトされるので忘れる心配はありません。
いや、むしろログアウトしなければいけないというのことを忘れました。

エンジニアたるもの些細な面倒を放置していてはいけません。
この投稿がどこかの誰かの毎日の面倒を減らすことに役立つことを願っています。