我只需要在我的Go Mux路由器中允许凭据。它似乎应该是相当直接的前进。一旦我在axios拦截器中将withCredentials
设置为true,我只会得到CORS错误。不过,我相信我配置正确。我是不是漏掉了什么?
以下是我提供的路线:
log.Fatal(http.ListenAndServe(":8080",
handlers.CORS(handlers.AllowedHeaders([]string{"X-Requested-With", "Content-Type", "Authorization", "withCredentials"}),
handlers.AllowedMethods([]string{"GET", "POST", "PUT", "HEAD", "OPTIONS"}),
handlers.AllowedOrigins([]string{"*"}),
handlers.AllowCredentials())(loggedRouter)))
字符串
显然,我需要启用此设置和获取cookie。我尝试这样设置cookie:
//set session cookie
http.SetCookie(w, &http.Cookie{
Name: "session_key",
Value: staffAdminSession.SessionKey,
Expires: time.Now().Add(time.Hour * 24),
HttpOnly: true,
})
型
它在Postman中设置,但在Chrome中没有。它必须是CORS/请求标头问题。
下面是我为错误提供的所有信息-请求的状态是CORS错误:x1c 0d1x的数据
1条答案
按热度按时间deyfvvtc1#
您应该检查控制台中的错误消息。应该会出现这样的错误消息:
CORS策略已阻止从源“http://localhost:8080”访问“http://0.0.0.0:8081/login”:**当请求的凭据模式为'include'**时,响应中'Access-Control-Allow-Origin'头的值不能为通配符'*'。
截图显示原点为
http://0.0.0.0:3000
,尝试替换字符串
与:
型