访问受保护的资源API提供了“401未授权”错误

问题描述:

我想根据此tutorial为我的项目添加授权。我已经有了检索访问令牌的工作。但是,当使用令牌访问受保护的资源API时,我得到一个401 unauthorized错误。访问受保护的资源API提供了“401未授权”错误

该请求有一个带有方案承载的授权头并包含访问令牌。就像在教程中一样,API也受到[Authorize]属性的保护。在启动过程中我设置承载认证与

UseOAuthBearerAuthentication(新Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions())

为什么请求是未经授权的,是我不清楚。我可以检查什么来找出这个问题的原因?

+0

您的授权服务器和您的资源服务器是相同还是不同的服务器? – jumuro

+0

@ jumuro服务器是不一样的,但他们使用相同的机器键 – xerves

+0

只有两种可能的方式获得401错误。 1:您正在使用无效令牌。 2:您的访问令牌已过期。刷新您的访问令牌,如果它已过期。 – Suraj

尝试并检查很多事情后,我注意到授权服务器和资源服务器正在使用不同版本的Owin和Owin.Security。更新较旧的之后,它工作。令牌必须在两个版本之间进行更改。