0

使用 symfony 4.4 进行 mercure /hub 调度更新工作正常,直到我不尝试使用带有 mercureAuthorization cookie 的凭据。

一旦我在 EventSource 中添加 {withCredentials: true},firefox 就会以“CORS missing”踢出事件源请求连接(而 chrome 不会)

'same origin' policy don't allow consulting 'http://localhost:3000/.well-known/mercure ... ' Reason: CORS header 'Access-Control-Allow-Origin' missing

另外,我应该让 mercureAuthorization cookie 从我的页面请求传递到事件源请求,但事实并非如此。

这是我的主页 cookie:

Set-Cookie: mercureAuthorization=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZXJjdXJlIjp7InN1YnNjcmliZSI6WyJodHRwOlwvXC9ub3RpZnkuY29tXC9wYXJhbmdvblwvdGVhbSJdfX0.e5YOGcOx-s-8nn2lbseqcVlk18dVEvgZIoKrDCEureA; path=/.well-known/mercure; httponly; samesite=strict;

我的事件源请求

Request URL: http://localhost:3000/.well-known/mercure?topic=http://notify.com/

内部没有 Set-Coockie。

编辑:我终于设法通过在同一个域上工作来解决它!所以知道我运行美居服务器:

--adress:'www.mydomain.test:3000/.well-known/mercure ... '

发帖自

'www.mydomain.test/' for exemple

设置 Cookie:

'return new Cookie('mercureAuthorization', $token, 
  (exp) 0, 
  (path) '/.well-known/mercure', 
  (domain) null, 
  (secure) false, 
  (httponly) true, 
  (raw) false, 
  (same-site) 'Strict'
);'
4

0 回答 0