我已經開始使用OpenID Connect實現隱式流 - 我已經在基於瀏覽器的JavaScript應用程序中檢索到我的訪問令牌和ID令牌,現在我需要保護我的資源ASP.NET Core Web API,因此只能通過具有特定聲明的用戶的有效訪問令牌訪問。OpenID Connect隱式流 - 資源服務器
我使用什麼中間件來驗證令牌並確定用戶及其聲明,以便我可以允許或拒絕他們訪問他們正在請求的資源?
我已經看過OpenIdConnectAuthentication
中間件,但是我見過的唯一實現示例使用了SignInScheme的「Cookie」,而不是我的js應用提供的持證者標記。
感謝
非常感謝Kévin的回覆(你做得很好!)。我查看了JwtBearer中間件,但它似乎沒有包含向UserInfo端點發出請求以獲取請求中使用的請求。不僅如此,我只能使用ID Token而不是Access Token(根據我讀過的內容,我認爲我應該使用)按照這篇文章(http://stackoverflow.com/questions/) 38394545/usejwtbearerauthentication簽名密鑰)。你能爲我提供進一步的幫助嗎?謝謝! – Steve
理論上,userinfo端點僅供客戶端應用程序用於檢索有關已認證用戶的數據,而不是由資源服務器獲取:訪問令牌應包含爲正確標識用戶所需的所有聲明。如果資源服務器無法直接讀取訪問令牌,則選項是使用授權服務器提供的自檢端點(如果支持)。請注意,我不建議使用身份標記來查詢您的API。這不是爲此發佈的。 – Pinpoint
再次感謝。這引發了更多的問題。例如,我將如何驗證RESTful API中沒有ID令牌的訪問令牌,因爲規範指出我需要ID令牌(http://openid.net/specs/openid-connect-core-1_0.html#CodeFlowTokenValidation) 。另一個問題是,隱式流是否適用於帶有外部IdP的RESTful API的SPA。還有更多。你知道一個論壇來問你這些問題嗎?除了你自己,我正努力尋找這些問題的好答案和實現? – Steve