【ストレージアクセスエーピーアイ】

Storage Access API とは?

最終更新:
💡 埋め込み先でも「自分のサイトのCookieを使いたい」とお願いするAPI

別サイトに埋め込まれたiframeなどが、自サイトの分離されていないCookieへのアクセスを要求するWeb API。ブラウザのプライバシー制限下で、ログイン状態などを利用するために使う。

📌 このページのポイント
埋め込まれたBが、B自身のCookieを要求 閲覧中のサイトA 埋め込みB iframe requestStorageAccess() BのCookie 要求 ブラウザが条件や許可を確認 成功・拒否の両方を処理する Aや無関係なサイトのCookieを読む許可ではない 許可画面や対応範囲はブラウザによる
Bが求めるのはB自身の分離されていないCookieへのアクセス。
ひよこ ひよこ
何のためのAPIなの?
ペンギン先生 ペンギン先生
サイトAの中に、サイトBのログイン済みコンテンツを埋め込む場面を考えよう。ブラウザがサイトをまたぐCookieの利用を制限すると、Bを直接開いたときのログイン状態を使えないことがある。そのアクセスを要求する仕組みだよ。
ひよこ ひよこ
サイトAのCookieをBに渡すの?
ペンギン先生 ペンギン先生
違うよ。Bが要求するのはB自身のCookieへのアクセス。Aや無関係なサイトのCookieを自由に読む許可ではないんだ。
ひよこ ひよこ
どう呼び出すの?
ペンギン先生 ペンギン先生
埋め込み側でhasStorageAccess()の結果を待って状態を調べ、必要ならrequestStorageAccess()で要求するよ。成功だけでなく、拒否や利用条件を満たさない場合の失敗も処理するんだ。
ひよこ ひよこ
呼ぶと毎回、許可画面が出る?
ペンギン先生 ペンギン先生
必ずではないよ。既存の許可やブラウザの判断で、画面を出さずに許可・拒否する場合もある。通常はクリックなどのユーザー操作をきっかけに要求し、HTTPSやsandbox、Permissions Policyの条件も確認するよ。
ひよこ ひよこ
許可されたら保存領域は全部使える?
ペンギン先生 ペンギン先生
一律には言えないよ。基本となるCookieへのアクセスと、他の保存領域を扱う拡張は区別しよう。対応範囲や許可の維持条件にはブラウザ差があるので、対象環境で確認が必要だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Storage Access API」って出てきたら「埋め込みサイトがCookieを使う許可をもらう仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Storage Access API」 = ストレージへのアクセスを要求するAPI
💬 Storageはデータの保存領域、Accessはアクセス。名前だけで、すべての保存領域や他サイトのデータへアクセスできると考えないようにしよう。

参考資料

← 用語集にもどる