Ephmeral session or how to clear logged in state in WKWebView after logout?
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- ios, swift
- 領域
- authentication, mobile
調査の方向性
まず、issue に記載されている login、logout、2 回目の WKWebView login のシーケンスを再現します。Google SignIn signOut() と、WKWebView、HTTPCookieStorage、WKWebsiteDataStore の処理を追跡します。logout 後に再度開いた WKWebView に、以前キャッシュされた Google アカウントが表示されなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
I'm wondering how to enable ephemeral session using Google SignIn?
Or how to correctly clear cookies in WKWebView after Google SignIn signOut() method?
To Reproduce
Steps to reproduce the behavior:
- Login using Google SignIn
- Opens WKWebView with no google account signed in (email field is cleared)
- After entering credentials and successful login try to logout
- Login again
- Opens WKWebView with cached google account
Expected behavior
(5) Opens WKWebView with no google account signed in (email field is cleared)
Screenshots
none
Environment
- Device: iPhone Simulator
- OS: iOS 16.2
- Browser: Safari
Additional context
I tried to clear cookies
-
In iOS Settings-Safari-Clear History and Website Data
-
Programmatically:
func clearAllCookies() {
let url = URL(string: "https://accounts.google.com/Logout")!
UIApplication.shared.open(url, options: [:], completion: nil)
if let cookies = HTTPCookieStorage.shared.cookies, cookies.count > 0 {
HTTPCookieStorage.shared.removeCookies(since: .distantPast)
print("All cookies deleted")
}
let dataStore = WKWebsiteDataStore.default()
dataStore.fetchDataRecords(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes()) { records in
records.forEach { record in
dataStore.removeData(ofTypes: record.dataTypes, for: [record], completionHandler: {
print("Deleted:", record)
})
}
}
}
None of the above worked.
- 主要言語
- Objective-C
- スター
- 751
- フォーク
- 282
- 平均マージ
- 4日 20時間
- マージ済み PR(30日)
- 11
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
google/GoogleSignIn-iOS のほかの issue
-
enhancement triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
google/GoogleSignIn-iOS#621 ·
-
enhancement triage
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
google/GoogleSignIn-iOS#620 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
google/GoogleSignIn-iOS#440 · コメント 4 件 · リアクション 2 件 ·
-
enhancement triage
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
google/GoogleSignIn-iOS#611 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
google/GoogleSignIn-iOS#607 ·
google/GoogleSignIn-iOS の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
objective-see/LuLu#925 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
noah-nuebling/mac-mouse-fix#2054 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
obsproject/obs-studio#13918 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
HigherOrderCO/Bend#842 · コメント 2 件 ·