[英].net core 5.0 with IdentityServer4 returns for api method 404
我在GitHub上设置了我的初始解决方案。
我设置了 swagger 授权以及 sql db 用户身份(程序获取正确的种子数据)并且程序让我获得授权。 但是当我调用我的方法/WeatherForecast
它返回 404。
我的整个代码都在上面的 repo 链接上。 请告诉我您是否需要直接在此处附加一些代码。
Ofc,当我从我的 api controller 中删除 [Authorize] 注释时,我可以达到方法(进入方法)
我还阅读了 jhow important is order in Startup class for app.UseAuthentication; app.UseAuthorization
app.UseAuthentication; app.UseAuthorization
我也检查了。
我不知道我还需要做什么才能获得 SuccessCode 200。
对于那些想从我的 github repo 本地运行它的人:
appsettings.Development -> 只需指向本地 sql 数据库服务器和空数据库即可开始播种数据。
client_id:大客户 client_secret:秘密
请检查两个范围(读、写)
您似乎想使用客户端凭据流来验证您的 API 的 Swagger... 至少,这是您在此处添加到 Swagger 的安全定义。
但是,正如您从流程解释的链接中看到的那样,这需要您的Identity Server
和您的Fancy API
相互通信。 因此,它们必须是两个独立运行的 API。 因此,您不应在Fancy API
中添加/使用所有 Identity Server 接线。
您的 Swagger 和 API 进行身份验证的权限 - 正如您在授权和令牌 URL中定义的那样 - 必须是该身份服务器。
此外,您的 API 的身份验证已在此处注释掉 - 并且具有不同于 Swagger 的权限 - 所以您似乎没有使用您收到的令牌。 但是,您随后在此处添加授权。
IdentityServer4
存储库有一些非常好的示例来指导我们,包括一个用于客户端凭证流程的示例。 这当然可以帮助你:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.