Visitar URL original
解决 无法访问非同域名下的接口 或 登录后 Cookie 马上失效且自动退出登录 · Issue #9 · TommyLemon/APIAuto · GitHub
Skip to content

解决 无法访问非同域名下的接口 或 登录后 Cookie 马上失效且自动退出登录 #9

Open

Description

@TommyLemon

Chrome 80+ 强制 same-site Cookie 的策略导致。

Chrome 94+ 可以以下方式 或 使用旧版(偶尔失效)

打开 tab 页面 chrome://flags/#block-insecure-private-network-requests
将其 Block insecure private network requests 设置为 Disabled, 然后重启就行了, 这样子就相当于把这个功能禁用掉。
image

Chrome 90+ 其它版本可以用以下方式(推荐,目前每次测试都有效)

先完全退出 Chrome,然后终端命令启动

open -n /Applications/Google\ Chrome.app/ --args --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure --disable-web-security --user-data-dir=~/MyChromeDevUserData/

会有一个报错弹窗:Chrome 无法对目录 MyChromeDevUserData 进行写入操作。
点击确定会启动开发调试模式的 Chrome,浏览器地址栏下会多出一栏:

image

然后再按以下方式修改 Chrome 设置

Chrome 87 以下可以修改 Chrome 设置

https://www.cnblogs.com/jingmo0319/p/13402645.html
还不行再试试把设置项 Reduce default 'referer' header granularity 改为 Enabled。
image

或安装和使用浏览器插件 Access-Control-Allow-Origin

https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf

Chrome 87-89 目前经测试只能以关闭安全验证模式启动 Chrome(推荐,目前每次测试都有效)

Windows

Chrome.exe 文件快捷方式中属性 目标 添加

--disable-web-security --user-data-dir

具体见 https://www.cnblogs.com/q149072205/p/12162233.html

MacOS

终端输入命令

open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security

具体见 https://www.jianshu.com/p/2db73311fcbe/

如果以上都不行,或者还存在登录态总是失效问题

可以把 APIAuto 源码部署到和被测服务同一域名(最好是同一机器,SpringBoot 项目可放在 static 目录),
参考 APIAuto 使用的后端 APIJSONBoot-MultiDataSource
https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONBoot-MultiDataSource

或者直接用旧版 Chrome(80 以下)
https://www.slimjet.com/chrome/google-chrome-old-version.php

Activity

  1. changed the title [-]解决 Chrome 87+ 等浏览器无法访问非同域名下的接口[/-] [+]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口[/+] on Jan 16, 2021
  2. pinned this issue on Jan 16, 2021
  3. changed the title [-]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口[/-] [+]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口或登录 Cookie 马上失效[/+] on Jul 23, 2021
  4. changed the title [-]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口或登录 Cookie 马上失效[/-] [+]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口或登录后马上自动退出登录[/+] on Jul 23, 2021
  5. changed the title [-]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口或登录后马上自动退出登录[/-] [+]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口或登录后 Cookie 马上失效且自动退出登录[/+] on Jul 23, 2021
  6. changed the title [-]解决 Chrome 80+ 等浏览器无法访问非同域名下的接口或登录后 Cookie 马上失效且自动退出登录[/-] [+]解决无法访问非同域名下的接口或登录后 Cookie 马上失效且自动退出登录[/+] on Jul 27, 2021
  7. TommyLemon commented on Feb 20, 2022

    @TommyLemon
    OwnerAuthor

    百度、搜狗、抖音公网接口调用演示
    #16

  8. changed the title [-]解决无法访问非同域名下的接口或登录后 Cookie 马上失效且自动退出登录[/-] [+]解决 无法访问非同域名下的接口 或 登录后 Cookie 马上失效且自动退出登录[/+] on Jan 12, 2023
  9. unpinned this issue on Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions