[英].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.