1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IsLoggedIn(Privacy Community Group)を理解する

Posted at

ウェブブラウザのプライバシー保護対策の動向を把握するために、W3CのPrivacy Community Group各提案を読み進めている。自分の頭の整理用にまとめている資料を公開する。今回はIsLoggedInについて。

概要

現在のWebの振る舞いは「デフォルトでログイン状態」(websiteはロードされた時点で、cookie等を利用してユーザーの情報を実質永続的に保存できる)となっているため、プライバシー上の問題とディスク容量の問題がある。ブラウザがログイン状態を把握できるようにして、ユーザーデータの保存を制御できるようにする。

API仕様の素案 (Straw Man Proposal)

  • 基本となるのは以下の3つのAPI
    • navigator.setLoggedIn(username, credentialTokenType, optionalParams) -> Promise<void>
      • Websiteがログイン状態 (isLoggedIn=true) になることをブラウザに知らせる。
    • navigator.setLoggedOut(optionalUsername) –> Promise<void>
      • Websiteがログアウト状態(isLoggedIn=false) になることをブラウザに知らせる。
    • navigator.isLoggedIn() –> Promise<void>
      • Websiteのログイン状態をブラウザから取得する。
  • トラッキングへの悪用を防ぐための対策として以下が例示されている。
    • WebAuthnやパスワードマネージャの利用など、ログイン処理であることが明らかな操作の後にのみsetLoggedInを呼び出せるようにする。
    • ログイン状態にするときにユーザーに明示的な同意確認を行う。
    • ログイン状態であることがわかるUI、定期的なログイン状態継続の確認を実施する。
  • ブラウザがログイン状態を保持するにはHTTP State TokenもしくはCookie(ブラウザへの普及をスムーズにするため)のいずれかを利用できる。
  • IDフェデレーションのサポートも考慮されており、IdPのwebsiteでnavigator.initiateLoggedInFederatedを呼び出した後に、SP (RP) のwebsiteでnavigator.setLoggedInFederatedを呼び出すことで、SPのisLoggedInをIdPのアカウントを使ってtrueにできる。

議論の状況

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?