我已经保护了我的API。
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(b =>
{
b.Audience = "https://localhost:44385";
b.Authority = "https://localhost:44385";
});
当我向邮递员请求安全页面时,我得到的是401 Unauthorized。然后,我发出令牌并将其粘贴,然后重试呼叫。这样会导致一个非常奇怪的错误。
System.InvalidOperationException:IDX20803:
无法从以下位置获取配置:“ [PII隐藏]”。 --->
System.IO.IOException:IDX20804: 无法从以下位置检索文档:“ [隐藏PII]”。 --->
System.Net.Http.HttpRequestException:
响应状态代码未指示成功:404(未找到)。
在System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
经过一番谷歌搜索,我发现here可能是因为该呼叫找不到 /。well-known / openid-configuration 。现在,suggested solution将使用IdSrv。
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddIdentityServerAuthentication(options =>
{
options.Authority = ...;
options.RequireHttpsMetadata = false;
options.ApiName = ...;
});
这带来了两个问题。首先,我不想在基本情况下使用Identity Server。其次,提示是对我不使用的nginx进行设置,因此无法将对众所周知的OpenId文档的请求定向到一个合理的位置。
不确定如何继续此处。