You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Capacitor4+Ionic6项目API32调用LinkedIn接口遇Secure Cookie错误求助

解决Capacitor 4 + Ionic 6调用LinkedIn API的Secure Cookie策略错误

问题根源

目标API级别32(Android 11/R)的安全Cookie策略明确规定:不能为HTTP协议的域名设置带Secure属性的Cookie。而LinkedIn API早已全面切换到HTTPS协议,你的请求大概率仍在使用HTTP,或者WebView的Cookie配置存在冲突。

解决方案

1. 强制所有LinkedIn API请求使用HTTPS

检查项目中所有调用LinkedIn的URL(包括授权地址、接口地址),将http://linkedin.com及其子域名替换为https://linkedin.com。LinkedIn已不再支持HTTP请求,这是最根本的解决方式。

2. 调整Android WebView的Cookie配置

在Android项目的MainActivity.java(路径:android/app/src/main/java/[你的包名]/MainActivity.java)中添加Cookie策略配置:

import android.webkit.CookieManager;
import android.os.Build;
import android.os.Bundle;

public class MainActivity extends BridgeActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
            // 允许第三方Cookie
            CookieManager.getInstance().setAcceptThirdPartyCookies(getWebView(), true);
            // 为LinkedIn域设置正确的Cookie属性(仅当确认用HTTPS时生效)
            CookieManager.getInstance().setCookie("linkedin.com", "Secure; SameSite=None");
        }
    }
}

3. 检查LinkedIn开发者应用配置

登录LinkedIn开发者后台,确保:

  • 应用的**重定向URI(Redirect URI)**使用HTTPS协议
  • 重定向URI与Capacitor项目中OAuth插件(如@capacitor-community/oauth2)配置的地址完全一致

4. 清除旧缓存和Cookie

测试前清除App的缓存与Cookie,避免旧的HTTP Cookie残留影响:

adb shell pm clear com.your.app.package

内容的提问来源于stack exchange,提问作者Wasim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 18:47:08