【发布时间】:2016-11-28 22:26:45
【问题描述】:
我想根据这个tutorial 为我的项目添加授权。我已经完成了检索访问令牌的工作。但是当使用令牌访问受保护的资源 API 时,我收到 401 unauthorized 错误。
请求有一个带有方案 Bearer 的授权标头,并包含访问令牌。与教程中一样,API 受 [Authorize] 属性保护。在启动期间,我使用
UseOAuthBearerAuthentication(新的 Microsoft.Owin.Security.OAuth.OAuthBearerAuthenticationOptions())
我不清楚为什么请求是未经授权的。我可以通过什么检查来找到此问题的原因?
【问题讨论】:
-
你的授权服务器和资源服务器是同一个还是不同的服务器?
-
@jumuro 服务器不一样,但是它们使用相同的机器密钥
-
只有两种可能的方法会导致 401 错误。 1:您使用的令牌无效。 2:您的访问令牌已过期。如果访问令牌已过期,请刷新它。
-
@Suraj 令牌未过期。取回后立即使用。刷新令牌仍然会给我一个 401。
-
您如何在标头中传递令牌?它应该是下面的形式:授权: