【问题标题】:Can cookie be used in VS Code Webview API?可以在 VS Code Webview API 中使用 cookie 吗?
【发布时间】:2019-01-08 15:00:05
【问题描述】:

我正在尝试使用 Webview API 在 VS Code 中集成一个 Web 应用程序。 我有这种错误提示无法读取 cookie:

error: any
:
DOMException: Failed to read the 'cookie' property from 'Document': Cookies are disabled inside 'data:' URLs. at HttpXsrfCookieExtractor.push../node_modules/@angular/common/fesm5/http.js.HttpXsrfCookieExtractor.getToken (http://127.0.0.1:8585/vendor.js:7688:37) at ApiXsrfInterceptor.push../src/app/lib/atlasmap-data-mapper/services/api-xsrf-interceptor.service.ts.ApiXsrfInterceptor.intercept (http://127.0.0.1:8585/main.js:8780:45) at HttpInterceptorHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptorHandler.handle (http://127.0.0.1:8585/vendor.js:7129:33) at HttpXsrfInterceptor.push../node_modules/@angular/common/fesm5/http.js.HttpXsrfInterceptor.intercept (http://127.0.0.1:8585/vendor.js:7720:25) at HttpInterceptorHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptorHandler.handle (http://127.0.0.1:8585/vendor.js:7129:33) at HttpInterceptingHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptingHandler.handle (http://127.0.0.1:8585/vendor.js:7764:27) at MergeMapSubscriber.project (http://127.0.0.1:8585/vendor.js:6969:184) at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext (http://127.0.0.1:8585/vendor.js:106781:27) at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next (http://127.0.0.1:8585/vendor.js:106771:18) at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://127.0.0.1:8585/vendor.js:101228:18)
code
:
18
message
:
"Failed to read the 'cookie' property from 'Document': Cookies are disabled inside 'data:' URLs."
name
:
"SecurityError"
stack
:
"Error: Failed to read the 'cookie' property from 'Document': Cookies are disabled inside 'data:' URLs.↵    at HttpXsrfCookieExtractor.push../node_modules/@angular/common/fesm5/http.js.HttpXsrfCookieExtractor.getToken (http://127.0.0.1:8585/vendor.js:7688:37)↵    at ApiXsrfInterceptor.push../src/app/lib/atlasmap-data-mapper/services/api-xsrf-interceptor.service.ts.ApiXsrfInterceptor.intercept (http://127.0.0.1:8585/main.js:8780:45)↵    at HttpInterceptorHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptorHandler.handle (http://127.0.0.1:8585/vendor.js:7129:33)↵    at HttpXsrfInterceptor.push../node_modules/@angular/common/fesm5/http.js.HttpXsrfInterceptor.intercept (http://127.0.0.1:8585/vendor.js:7720:25)↵    at HttpInterceptorHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptorHandler.handle (http://127.0.0.1:8585/vendor.js:7129:33)↵    at HttpInterceptingHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptingHandler.handle (http://127.0.0.1:8585/vendor.js:7764:27)↵    at MergeMapSubscriber.project (http://127.0.0.1:8585/vendor.js:6969:184)↵    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._tryNext (http://127.0.0.1:8585/vendor.js:106781:27)↵    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber._next (http://127.0.0.1:8585/vendor.js:106771:18)↵    at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://127.0.0.1:8585/vendor.js:101228:18)"

这是 VS Code Webview API 的限制吗?需要配置吗?

作为参考,我尝试集成的项目是https://github.com/atlasmap/atlasmap,有一个带有“当前状态”的PR(又名不工作)

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    VSCode webview API 也禁用了对本地存储和 cookie 的评估,这就是您收到错误的原因。

    本期讲到https://github.com/Microsoft/vscode/issues/48464

    【讨论】:

      猜你喜欢
      • 2019-06-06
      • 2020-11-17
      • 2021-11-22
      • 2013-10-12
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      相关资源
      最近更新 更多