Observando a identidade do ASP.NET (nova implementação de associação no ASP.NET), deparei-me com essa interface ao implementar minha própria UserStore:
//Microsoft.AspNet.Identity.Core.dll
namespace Microsoft.AspNet.Identity
{
public interface IUserSecurityStampStore<TUser> :
{
// Methods
Task<string> GetSecurityStampAsync(TUser user);
Task SetSecurityStampAsync(TUser user, string stamp);
}
}
IUserSecurityStampStoreé implementado pelo padrão EntityFramework.UserStore<TUser>que essencialmente obtém e define a TUser.SecurityStamppropriedade
Depois de mais algumas pesquisas, parece que a SecurityStampé Guidgerado recentemente em pontos-chave do UserManager(por exemplo, alteração de senhas).
Não consigo decifrar muito além disso, pois estou examinando esse código no Reflector . Quase todas as informações de símbolos e assinaturas foram otimizadas.
Além disso, o Google não tem sido de muita ajuda.
As perguntas são:
- O que é uma
SecurityStampidentidade no ASP.NET e para que é usada? - O
SecurityStamppapel desempenha algum papel quando os cookies de autenticação são criados? - Existem ramificações ou precauções de segurança que precisam ser tomadas com isso? Por exemplo, não envie esse valor a jusante para os clientes?
Atualização (16/9/2014)
Código fonte disponível aqui: