簡體   English   中英

.net 核心 5.0 與 IdentityServer4 返回 api 方法 404

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM