【发布时间】:2019-04-08 04:05:29
【问题描述】:
我在 .NET Core 中设置了一个简单的 API,使用由 Identity Server 4 编排的 JWT 来保护它。当我访问一个属性为 [Authorize] 的端点时,我得到了预期的响应 (401未经授权)。注释掉后,它返回实际数据,正如所希望的那样。
现在,当添加带有键 Authorization 和值 Bearer XXX 的标头(其中 XXX 是我获得的令牌)时,我会立即收到一条错误消息,说明
得不到任何回应
接下来是关于做什么的四个建议。我关闭了 SSL 证书并且不需要代理,因为一切都在基本设置中本地运行。超时不相关(设置为 0 并立即发生错误)。
它给我留下了 *backend 的抽象选项无法正常工作。我没有做任何特别的事情,只是按照 IS 网站上提供的指南进行操作。由于错误的直接性,我的印象是我在 Postman 中做了一些不那么出色的事情。此外,IS 的控制台没有说明任何错误,这进一步加强了我对与它无关的问题的怀疑。
我尝试在 URL 下面的选项卡上设置不同的授权。每次调用的结果相同。我检查了 hosts 文件,它看起来像这样
127.0.0.1 本地主机
按照this article 的建议,我已确保在粘贴标记的末尾没有换行符。我尝试将键 Content-type 设置为 application/json et.al。喜欢建议的here。我已经检查过我没有像here 所示的冲突环境变量。等等 - 基本上是我找到的任何信息、文章和提示。
在这个阶段,我对如何解决问题没有任何想法,并且我对谷歌搜索的新关键字感到厌烦。
可能是什么原因,可以做些什么,至少,我可以从哪里获得更多关于如何继续的灵感?
【问题讨论】:
-
您确定网站在
https下运行吗?您是否尝试过在 Postman 中使用http? -
对于
where XXX is my obtained token,你是如何获得这个令牌的?要检查它是否与邮递员配置有关,您可以使用简单的html页面进行测试并将ajax请求发送到该端点,您是否收到任何错误?另外,您可以使用 Fiddler 进行测试以发送请求。 -
@TaoZhou 原来,复制的令牌将换行符合并到字符串中并转换为空格。这让邮递员窒息。是你的你是如何获得令牌的让我思考的。您的意思可能是代码,但它让我想到了复制它的实际行为。当然,还有粘贴。请重新发表您的评论作为回复,以便我接受。
标签: asp.net-core jwt postman identityserver4