【发布时间】:2016-08-26 20:14:00
【问题描述】:
我将令牌作为字符串传递给 SOAP 服务,并已验证该令牌有效。我现在有一个 SecurityToken,在调试模式下我可以看到所有声明,特别是我想传递给另一个方法的 userId 声明。我似乎无法弄清楚如何获得索赔。现在我解码了令牌的字符串版本(令牌的未经验证的字符串版本,我至少等到成功验证之后。)这是代码块:
SecurityToken validatedToken = null;
if (VerifyToken(sPassword, ref response, ref validatedToken))
{
var claimsObj = JObject.Parse(Encoding.UTF8.GetString(Base64Url.Decode(claims)));
JToken userId = claimsObj.GetValue("userId");
return implClass.Process(userId);
}
如何从 SecurityToken 中获取声明?
validatedToken.Id; // not it
validatedToken.ToClaimsPrincipal(cert); // doesn't work
就暴露的属性而言,对我来说似乎没有其他任何东西有希望,但由于我可以在调试器中看到声明,我确信有一种我只是没有看到的方法。
【问题讨论】:
标签: c# jwt identityserver3