ASP.NET MVC中UserManager的VerifyUserTokenAsync方法为何总是返回False?
- 内容介绍
- 文章标签
- 相关推荐
本文共计301个文字,预计阅读时间需要2分钟。
我正在生成这样的用法:`public async Task GenerateCode() { var code=await UserManager.GenerateUserTokenAsync(heymega, new Guid(16139fcd-7ae0-449c-ad1c-f568bbe46744)); }` 然后通过单个请求将相同的令牌传递给其他服务。
我正在生成像这样的用法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.
为什么验证方法无法在单独的请求中验证代码?我错过了一些明显的东西吗
我终于把头发拉了几个小时后想出来了.你需要对代码进行URL编码,我决定使用HttpUtility类.HttpUtility.UrlEncode(code);
在验证代码时,您不需要对代码进行URL解码.
本文共计301个文字,预计阅读时间需要2分钟。
我正在生成这样的用法:`public async Task GenerateCode() { var code=await UserManager.GenerateUserTokenAsync(heymega, new Guid(16139fcd-7ae0-449c-ad1c-f568bbe46744)); }` 然后通过单个请求将相同的令牌传递给其他服务。
我正在生成像这样的用法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.
为什么验证方法无法在单独的请求中验证代码?我错过了一些明显的东西吗
我终于把头发拉了几个小时后想出来了.你需要对代码进行URL编码,我决定使用HttpUtility类.HttpUtility.UrlEncode(code);
在验证代码时,您不需要对代码进行URL解码.

