如何从ClaimsPrincipal
获取SecurityToken
?
我需要它,因为我想在AuthenticationManager / Authenticate中从MVC应用程序传递它到WCF服务。
在Authenticate方法中,BootstrapContext的值为null。即使经过身份验证,有时也会得到null,这使它对我来说不是一个可靠的选择。
这是我的身份验证管理器类:
public override ClaimsPrincipal Authenticate(string resourceName, ClaimsPrincipal incomingPrincipal)
{
string passportID = incomingPrincipal.Identity.GetPassportID().ToString();
try
{
// I need the token here
SecurityToken token = GetToken(incomingPrincipal);
return base.Authenticate(resourceName, incomingPrincipal);
}
catch (Exception ex)
{
throw new SecurityException("User is not authenticated.", ex);
}
}