0

是否有解决方案可用于使用HttpSessionState存储令牌?使用HttpSessionState存储令牌/声明

我知道我们可以使会议进行身份验证Cookie小:

FederatedAuthentication.SessionAuthenticationModule.IsSessionMode = true; 

从我的理解,使用默认的实现,该令牌存储在内存中。 http://www.cloudidentity.com/blog/2010/05/26/YOUR-FEDAUTH-COOKIES-ON-A-DIET-ISSESSIONMODE-TRUE/

即使设置了自定义提供程序,也不会使用HttpSession。

Thinktecture IdentityModel允许我们通过implementing ITokenCacheRepository使用自定义令牌存储库,但它需要外部存储,使用会话可能会很糟糕(过期,范围...)。

为什么默认TokenCache使用内存解决方案而不是Host Session提供程序?有一种简单而安全的方式来使用主机的会话状态?

回答

0

尽管我没有尝试在会话中存储令牌,但我使用Redis缓存从Thinktecture.IdentityModel实现了ITokenCacheRepository

的代码可以在这里找到:https://github.com/guillaume-fr/RedisTokenCache

这可以帮助任何人寻找一种方式来存储在服务器端令牌在云/ WebFarm环境。我不会接受我的答案,因为它没有说明我们如何使用Session或为什么我们不能。