簡體   English   中英

離子 6 angular 電容器組 cookies 上 ios

[英]Ionic 6 angular capacitor set cookies on ios

我有一個帶有 angular 的 ionic 6 應用程序,我正在使用外部 API 登錄用戶並檢索一些數據。

當用戶進行身份驗證時,服務器以Set-cookie header 響應; 在瀏覽器和 android 應用程序上一切正常。

在 iOS 上,響應中收到的 set-cookie header 似乎什么也沒做。

我也在嘗試在我的app.component.ts上使用cordova-plugin-wkwebview-inject-cookie

this.platform.ready().then(() => {
  if (this.platform.is('ios')) {
    wkWebView.injectCookie(environment.config.baseUrl, '/');
  }
});

但是 cookie 沒有被存儲,所以每個下一個請求都會得到 401 響應:

在此處輸入圖像描述

經過大量搜索這個問題,我在電容器 github 問題中找到了這個線程

長話短說:這不是問題或問題,實際上這是 Apple 做出的安全決定,就像 Thomas Vidas 在同一線程中所說:

這是幾件事,主要是它是 Apple 在 iOS 14 及更高版本上的故意更改,稱為“智能跟蹤預防”(ITP),它禁用了未列為應用綁定域的域上的所有 cookies。 這不是由於電容器://協議。 ITP 做到了,因此 document.cookie 調用旨在靜默失敗以阻止用戶跟蹤。 如果您的 server.hostname 和 App Bound 域設置正確,它可能會起作用,但可能會產生其他意想不到的后果(例如 Apple 可能會拒絕您的應用程序),因此我們不建議這樣做。

因此,我建議您閱讀整個線程以獲得一些見解,因為認為電容器團隊沒有解決方案。

我希望它會幫助你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM