[英]What cookie does a .NET ADFS claims aware web application return to the client browser on receipt of a valid token?
當客戶端瀏覽器首次向Web應用程序提供有效的SAML令牌(通過POST)時,應用程序將處理該令牌並返回身份驗證cookie。
此cookie是從表單身份驗證返回的標准ASPXAUTH cookie,還是表示/包含SAML令牌?
如果是后者,那么IIS上的.NET Web應用程序的標准ADFS設置中是否有配置,以便在驗證初始令牌后允許切換到ASPXAUTH?
這樣做會有不利之處嗎?
作為登錄過程的一部分,一旦收到並接受了令牌, WSFederationAuthenticationModule
調用SessionAuthenticationModule
的WriteSessionTokenToCookie
方法:
public void WriteSessionTokenToCookie(SessionSecurityToken sessionToken)
{
//Error checking omitted
byte[] buffer = handler.WriteToken(sessionToken);
SessionSecurityTokenCacheKey key = new SessionSecurityTokenCacheKey(this.CookieHandler.Path, sessionToken.ContextId, sessionToken.KeyGeneration);
DateTime expiryTime = DateTimeUtil.Add(sessionToken.ValidTo, base.FederationConfiguration.IdentityConfiguration.MaxClockSkew);
handler.Configuration.Caches.SessionSecurityTokenCache.AddOrUpdate(key, sessionToken, expiryTime);
this.CookieHandler.Write(buffer, sessionToken.IsPersistent, sessionToken.ValidTo);
}
你可以看到,正在編寫某種形式的令牌,適當地序列化,作為cookie。 確切地說,這取決於一些選項 - 例如, SaveBootstrapContext
可能會影響存儲的內容。 如果啟用此選項,則是,我相信SAML令牌存儲在cookie中。
那么,存儲什么cookie? 這取決於這個this.CookieHandler
正在做什么。 默認情況下,這是ChunkedCookieHandler
,它最終(再次默認)將上面方法調用的二進制blob分成多個較小的blob,並將它們存儲在FedAuth1
, FedAuth2
等形式的一系列cookie中。
是否在IIS上的.NET Web應用程序的標准ADFS設置中有一個配置,以便在驗證初始令牌后允許切換到ASPXAUTH
不是我知道的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.