Contents

Chrome 設定停用 CORS 跨域檢查

最近嘗試設定 OpenAPI 文件設定 OAuth2 的 authorization code 的設定,發現沒法正常使用,我發現是跨域問題,因為 VSCode 的產生 swagger ui 不能做 authorization code(但第四個 flow 可以跑),用程式產生 swagger ui 的可以正常,但卡在瀏覽器跨域問題。

這邊我原本還想用 Electron 來實作關掉 CORS東西,但我覺得這樣花費很多成本,可能還要針對瀏覽器設置,相關套件也不是很想用,之前有用過 Agent Switch 疑似套件有放奇怪的東西,所以想避免使用套件

安全性設置

Disable-web-security in Chrome 48+ - Stack Overflow

浏览器允许跨域设置(不用于生产环境,开发用) - LiuChunfu - 博客园

1
2
3
4
5
# MacOS (in Terminal)
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials

# Windows (from "Run" dialog [Windows+R] or start menu in Windows 8+)
chrome.exe --user-data-dir=%TMP%\temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials

使用上面執行指令就能解決問題。寫這篇主要目的是要用 swagger-ui-cli,如果有興趣可以參考這篇

Edge 使用方法

1
2
# 在桌面建立 Edge 捷徑,右鍵屬性內容路徑加上` --disable-web-security --user-data-dir=C:\MyChromeDevUserData`
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --disable-web-security --user-data-dir=C:\MyChromeDevUserData

參考: * Google Chrome和Microsoft Edge开发环境跨域的设置_edge –disable-web-security_追逐梦想之路_随笔的博客-CSDN博客