我有與 JWT 一起工作的 Asp.Net 4.6 webAPI 應用程序。我正在使用Okta 授權代碼流/令牌交換來獲取令牌。然后我在我的所有請求中使用令牌。使用我的 Okta 開發端點時一切正常,但是當我使用我們的生產 Okta 端點時,經過身份驗證的請求失敗。授權和代碼/令牌交換工作正常,但是當我使用 [Authorize] 屬性向我的 WebApi 控制器請求數據時,請求似乎沒有返回任何內容,甚至沒有返回錯誤。事實上,chrome 中的請求顯示請求永遠不會完成。(盡管預檢 OPTIONS 請求確實得到了 200)。我還可以在 Wireshark 中看到請求,并且永遠不會發送響應。最明顯的答案是,我的代碼或生產 Okta 端點上存在配置問題,導致 Authorize 屬性靜默失敗。但我主要擔心的是我似乎找不到調試它的方法。我嘗試從 Authorize 屬性繼承,并覆蓋所有方法以查看是否可以通過在這些方法中放置斷點來確定任何內容,但是方法 OnAuthorization、IsAuthorized、HandleUnauthorizedRequest 等似乎永遠不會被調用。在那里調試的最佳方法是什么?是否有一個 Asp.Net 事件我可以掛鉤以查看正在發送/返回到 Okta 以驗證傳入令牌的內容?為什么它默默地失敗了?這似乎是一個設計上應該冒出來的錯誤。
1 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
這很可能是因為您的產品沒有 API 訪問管理。在您的預覽組織中。您有免費的 API AM,因此它可以工作。在您的生產組織中。你得買這個功能。在每個組織上進行測試。轉到 Okta 管理儀表板 > 安全 > API。您可能會看到其中一個的“授權服務器”選項卡,而另一個則看不到。
另一個問題可能是,如果您的問題是您的組織。URL 然后 Okta 不會給出令牌的密鑰無法在本地驗證。
不看你的配置很難說,但以上兩種情況很常見
- 1 回答
- 0 關注
- 151 瀏覽
添加回答
舉報
0/150
提交
取消