tk3.biz
ブログ一覧に戻る

Chrome拡張機能「Switch Browser Data」を作ってみた

Chrome拡張機能開発ツールブラウザ

はじめに

Webアプリ開発では、管理者・一般ユーザーなど複数のアカウントでテストする場面が頻繁にあります。しかも一般ユーザーにも権限レベルが複数ある場合、アカウントの種類はさらに増えます。

以前は切り替えのたびに「ログアウト → 別アカウントでログイン」を繰り返していました。地味に時間がかかるうえ、テンポが崩れてストレスになっていました。

既存ツールを使わなかった理由

「ブラウザのCookieを切り替えるツール」を探したことがある方なら、いくつか選択肢が見つかることはご存知かと思います。ただ、気になったのが信頼性の問題です。

CookieにはログインセッションIDが含まれています。つまり、Cookieを扱うツールに悪意があれば、そのデータを使ってアカウントに侵入することが理論上は可能です。

クローズドソースのツールは中身を確認できません。「このツールは安全か?」という問いに答えられないまま使い続けることに、どうしても抵抗がありました。

作ったもの:Switch Browser Data

そこで、自分で作ることにしました。コードをOSSで公開することで、「中身を見て確認できる」状態にすることが目的の一つでもあります。

Switch Browser Data は、ドメインごとにブラウザデータをスナップショット保存して、ワンクリックで切り替えられるChrome / Edge拡張機能です。

対応しているデータは以下のとおりです。

データ種別内容
Cookieログインセッションなど
localStorageブラウザに永続保存されるデータ
sessionStorageタブを閉じると消えるデータ
IndexedDB構造化データの保存

すべてのデータはデバイス内にのみ保存され、外部に送信されることはありません。

使い方

1. スナップショットを保存する

ログイン済みの状態でポップアップを開き、スナップショット名を入力して保存します。アカウントごとに「管理者」「一般ユーザーA」のように名前をつけておくと管理しやすいです。

2. ワンクリックで切り替える

ドロップダウンから切り替えたいスナップショットを選択するだけです。ページをリロードすれば、そのアカウントの状態が復元されます。

ドメインごとに管理されるため、別のサービスのデータに影響しません。

ソースコード

コードはGitHubで公開しています。

https://github.com/istb16/switch-browser-data-extension

MITライセンスです。使い方の確認や、不審な挙動がないかの検証にご活用ください。

まとめ

  • 複数アカウントの切り替えを「ログアウト→ログイン」なしにワンクリックで行える
  • Cookieはログインセッションを含むため、信頼できるツールが必要だと判断して自作した
  • OSSで公開しているので、コードを見て安全性を確認できる
  • Chrome / Edge 両対応、データはすべてローカル保存