我正在这样生成用户令牌
public async Task GenerateCode()
{
var code = await UserManager.GenerateUserTokenAsync("heymega", new Guid("16139fcd-7ae0-449c-ad1c-f568bbe46744"));
}
然后我通过另一个独立的请求将相同的令牌传递到另一个操作中。
public async Task ValidateCode(string code)
{
var valid = await UserManager.VerifyUserTokenAsync(new Guid("16139fcd-7ae0-449c-ad1c-f568bbe46744"), "heymega", code); //Returns False
}
然而,VerifyUserTokenAsync
方法的返回值始终为 false。如果我在同一操作中生成代码并验证。
public async Task GenerateCode()
{
var code = await UserManager.GenerateUserTokenAsync("heymega", new Guid("16139fcd-7ae0-449c-ad1c-f568bbe46744"));
var valid = await UserManager.VerifyUserTokenAsync(new Guid("16139fcd-7ae0-449c-ad1c-f568bbe46744"), "heymega", code); //Returns True
}
它返回true。
为什么Verify方法不能在单独的请求中验证代码?我有遗漏了什么明显的东西吗?
VerifyUserTokenAsync
之前,最有可能需要使用HttpUtility.UrlDecode
。至少我似乎需要这样做。 - Jedidja