【问题标题】:Bearer token auth 401 from angular application but not from PostmanBearer token auth 401 来自 Angular 应用程序,但不是来自 Postman
【发布时间】:2017-04-05 12:15:22
【问题描述】:

我有一个使用 jwt 不记名令牌身份验证运行 asp.net 核心的 API。当我通过 Postman 为我的请求提供 Authorization 标头访问 API 时,身份验证方案似乎运行良好。

当我从我的 Angular 应用程序中访问 API 时,我会在飞行前请求中获得 200,然后在实际请求中获得 401

WWW-Authenticate 消息说:

Bearer error="invalid_token", error_description="The token is expired"

但是,当我从 Angular 应用程序的请求中复制不记名令牌,并在来自 Postman 的请求中使用相同的令牌时,它可以正常工作,并且我可以取回我的数据。

我确定我在做一些愚蠢的事情。但有时它可以在 Angular 应用程序中正常工作,但有时当我运行它时,它根本无法工作。

感谢任何想法。

【问题讨论】:

  • 奇怪..您确定JWT 令牌Expiration 足够长以在这些测试之间保持有效?如何在 angular 端存储和发送令牌?
  • @Searching,令牌到期时间设置为 30 分钟,因此应该足够长。在角度方面,令牌存储在本地存储中,然后通过 http 拦截器添加到授权标头中。

标签: angularjs authentication asp.net-core postman


【解决方案1】:

我有同样的问题,我解决了。

当我将令牌从 angular localStorage 传递到 Headers 时,它添加了双引号,所以这是不正确的。

我把这个Authorization: Bearer "token " 改成了 Authorization: Bearer token 没有双引号,现在一切正常。

【讨论】:

    猜你喜欢
    • 2020-08-26
    • 2022-07-28
    • 2020-03-22
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 2021-08-17
    相关资源
    最近更新 更多