簡體   English   中英

.NET ADFS聲稱感知Web應用程序在收到有效令牌時返回到客戶端瀏覽器的cookie是什么?

[英]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調用SessionAuthenticationModuleWriteSessionTokenToCookie方法:

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,並將它們存儲在FedAuth1FedAuth2等形式的一系列cookie中。

是否在IIS上的.NET Web應用程序的標准ADFS設置中有一個配置,以便在驗證初始令牌后允許切換到ASPXAUTH

不是我知道的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM