【问题标题】:Access Protected Resource API gives “401 Unauthorized” errorAccess Protected Resource API 给出“401 Unauthorized”错误
【发布时间】: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。
  • 您如何在标头中传递令牌?它应该是下面的形式:授权:

标签: oauth-2.0 owin.security


【解决方案1】:

在尝试和检查了很多东西之后,我注意到授权服务器和资源服务器使用的是不同版本的 Owin 和 Owin.Security。更新旧的后,它工作。令牌必须在 2 个版本之间发生变化。

【讨论】:

    猜你喜欢
    • 2020-07-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    相关资源
    最近更新 更多