編輯添加額外的細節。ASP.NET身份Cookie未保存/設置在子域
我有一個web項目,我有效地用作授權服務器(例如example.com)。然後我有幾個網站作爲子域名(例如sub1.example.com,sub2.example.com)。登錄授權服務器時,我目前無法獲取.AspNet.Cookies
cookie以保存子域名。我可以看到cookie返回響應,但沒有設置。
我已經搜索並嘗試了各種解決方案,如設置CookiePath
和CookieDomain
。我已驗證所有網站之間的Web.config
文件匹配的計算機密鑰。這是目前怎麼我的cookie身份驗證:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
LoginPath = new PathString("/Account/Login"),
CookieDomain = ".example.com",
});
我有授權服務器上啓用CORS,我能夠接受的承載令牌,當我登錄,我似乎無法得到cookie來被保存。
在此先感謝。
編輯:我在某處讀到ARRAffinity cookie會混淆東西,所以我也禁用了它。我仍然無法看到子域中的cookie。
編輯2:添加Ajax調用的要求,在意見(密碼和域名已經被改變的一致性與崗位):
$.ajax({
url: 'https://example.com/auth/token',
method: 'POST',
data: {
grant_type: 'password',
username: '[email protected]',
password: '************'
},
crossDomain: true
});
嗨!當你說cookie沒有被設置時,你說的是瀏覽器沒有發送它,對吧?你在'CookieDomain'中設置了什麼值?你有沒有嘗試'mydomain.com'或'.mydomain.com'(注意開頭的點)? –
當我在fiddler中查看響應時,我可以看到從服務器返回的cookie。但是瀏覽器忽略了那個_specific_cookie的Set-Cookie頭。我嘗試過'mydomain.com'和'.mydomain.com',都沒有什麼不同。 – ipshing
你能否提供一個代碼樣本來展示你如何創建cookie? –