【问题标题】:Always receive 401 when accessing api with a valid token使用有效令牌访问 api 时总是收到 401
【发布时间】:2017-06-16 03:05:57
【问题描述】:

https://github.com/mjrousos/IdentityServer4Authentication 的以下 repo 开始,我添加了一个带有 [Authorize] 属性的单个“Get”方法的“ValuesController”。当我使用 Web 前端登录时,我可以很好地访问此端点 - Web 位包含 IS4 快速入门中的标准 Web 位。

但是,当我使用以下正文(原始)“grant_type=password&username=gvdonovan%40gmail.com&password=Pass20!7&client_id=myClient&scope=myAPIs”从令牌端点(/connect/token)请求令牌时,然后使用它带有单个 Authorization 标头的 Get 请求中的令牌,其值为“bearer [my token]” 我收到 401 Unauthorized 响应。

【问题讨论】:

    标签: asp.net-core identityserver4


    【解决方案1】:

    您的身份服务器和“受保护的控制器”在同一个项目中,只需一次启动,这是我不习惯的配置。

    对于 IdSvr 的使用,我们确保客户端(Web api)的启动在配置方法中使用了中间件“UseIdentityServerAuthentication”,并为该客户端的可接受权限和 AllowedScopes 进行了适当的定义。 然后在受保护的 API 资源上使用 Authorize 标头将自动神奇地调用权限(我们的 IdSvr)来验证令牌。

    我们的 IdSvr 没有控制器或“app.UseMvc”,因为它只是用于发布/验证令牌。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-24
      • 2019-01-28
      • 2020-10-13
      • 2012-10-27
      • 2021-11-30
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      相关资源
      最近更新 更多