httpContext.User.Identity.IsAuthenticated 总是为fasle

验证一直通不过,不知道问题在哪里。这个坑应该只有我自己遇到,记录一下,问题在使用swagger验证的时候出现的(说的很轻松)

httpContext.User.Identity.IsAuthenticated 总是为fasle_第1张图片
如图所示,在swaager文档中,添加认证功能,此时只要我们填下登陆时获取的token,便能访问到其他接口。如下图填写密钥

httpContext.User.Identity.IsAuthenticated 总是为fasle_第2张图片

如果密钥没有填对,则对接口有认证的地方进行校验,效验失败则返回如下
710776-20190806175747591-1001109113.png

刚开始不知道验证失败的原因在哪里。一直在查阅认证与授权的资料。

尝试了其他项目,发现都是正常的。(此时头有点大,但不能放弃)

最后使用了postMan进行调用,发现ok啊。此时联想到swagger密钥填写问题。一切ok。

填写格式:

Bearer 密钥

我之前填的是Bearer:密钥

其他注意事项

  1. 在登陆过程中时候,即使调用了HttpContext.SignInAsync() 方法,通过调试httpContext.AuthenticateAsync() 是获取不到用户登陆任何信息的。必须经历一个完整的页面请求过程。不然也是返回false。

  2. Configrue必须添加 app.UseAuthentication(); 不然也总是返回false。

转载于:https://www.cnblogs.com/zhan520g/p/11310738.html

你可能感兴趣的:(httpContext.User.Identity.IsAuthenticated 总是为fasle)