2016-11-09 95 views
4

有人可以解釋在Identity Server4中成功登錄後發送給用戶瀏覽器的cookie的用途。底部還有三個較小的相關問題。IdentityServer4中的Cookie

客戶端在Startup.cs文件中定義的ASP.NET Core中使用cookie中間件。

app.UseCookieAuthentication() 

這是很明顯的令牌身份Server創建和餅乾ASP.NET核心中間件造成的,但我不知道什麼樣的內容每個cookie containts。

ASP.NET Core中間件決定創建可能由於Cookie大小(4050B + 865B)而導致的分塊Cookie。

我一直在試圖找到一種方法來解密cookie,使用ASP.NET Core提供的Data Protection API讀取值,但沒有任何運氣。

  • idsvr
  • idsvr.session
  • .AspNetCore.coookie
  • .AspNetCore.coookieC1
  • .AspNetCore.coookieC2
  • .AspNetCore.Antiforgery。

Screenshot from developer tools in Internet Explorer

  1. 哪個cookie包含id_token,ACCESS_TOKEN通過Identity Server的發行?
  2. CookieName可用於更改ASP.NET Core中間件創建的Cookie的名稱,不同的客戶端是否共享相同的Cookie名稱,或者他們是否需要單獨的會話Cookie?
  3. 可以通過使用Data Protection API解密Identity Server Cookie嗎?

回答

0
  1. AFAIK id_token,是的access_token不默認存儲在cookie中。但是,如果需要,您可以將它們存儲在會話cookie(ASP.NET Core中間件創建的cookie)中。 Here is how it is done身份服務器3與混合流使用OpenID連接OWIN中間件。對於asp.net核心中間件也應該有類似的選項。

  2. 每個客戶可以有相同的cookie名稱,但他們不需要這樣做。由此,cookie只能由創建它的客戶端訪問。

  3. 我不知道。