在我的Auth API中,将ss-id cookie域设置为可用于所有子域,就像在AppHost.Configure方法中一样:
Config = new HostConfig
{
RestrictAllCookiesToDomain = ".mywebsite.com"
};
我的浏览器将在我的每个子域API的每个请求中都包含此cookie,例如:user.mywebsite.com
。
不幸的是,我的API间歇性地以SET COOKIE
个响应进行响应!
所以有时我的ss-id
Cookie会得到我不想要的东西:
有时,登录并注销,清除mywebsite.com
的cookie即可得到所需的信息,并且我的API共享相同的cookie:
我尝试添加:
Config = new HostConfig
{
RestrictAllCookiesToDomain = ".mywebsite.com"
};
对于其他API的AppHost.Configure,但这似乎无法解决这种情况,也似乎没有必要,因为由我的auth API成功登录响应设置的ss-id
Cookie适用于所有子域(.mywebsite.com )
我怀疑尚未设置ss-id
cookie的情况下将Ajax请求发送到API,这是多个Ajax请求和登录过程之间的时间问题。
我的逻辑正确吗?由于初始响应的响应标头中的ss-id
SET COOKIE域是登录后的.mywebsite.com
,我的其他API都不会用ss-id
的新SET COOKIE进行响应?
答案 0 :(得分:0)
除非您查看原始的HTTP标头以查看实际发生的情况,否则您将不会知道正在发生的情况。
可能有一个带有多个Ajax请求的竞争条件,我们最初发送这些请求时没有ss-id cookie,在这种情况下,它们可能会返回不同的ss-id cookie,在这种情况下,最后一条Set-Cookie指令将获胜并被使用前提是他们都使用相同的/
路径。