簡體   English   中英

ASP.NET Core OAuth 的基本代碼問題 (?)

[英]Base Code Issues (?) with ASP.NET Core OAuth

我正在使用 ASP.NET Core Authentication.OAuth 包(版本 2.2.0)為我的 Web 應用程序中的唯一身份驗證流開發中間件。 我正在使用 .NET Core 3.1。 我遇到了幾個問題,其中似乎包的基本代碼中缺少構造函數/方法,從而創建了我無法解決的缺失方法異常(例如,這個異常,我已經解決了但還沒有真正解決:“ MissingMethodException: Method not found: 'Void Microsoft.AspNetCore.Authentication.OAuth.OAuth CreatingTicketContext..ctor “這是我在嘗試實例化OnCreatingTicketContext對象時得到的)。 我已經嘗試卸載並重新安裝 OAuth 包,所以我不認為這是我的特定安裝的問題。 盡管我已經設法解決了其中的一些錯誤,但我目前無法在擴展的OAuthHandler類中實例化新的OAuthTokenResponse對象。

調用OAuthTokenResponse.Success(response)會產生一個缺失的方法異常(“方法未找到:'Microsoft.AspNetCore.Authentication.OAuth.OAuthTokenResponse Microsoft.AspNetCore.Authentication.OAuth.OAuthTokenResponse.Success(Newtonsoft.Json.Linq.JObject)' ” )。 如果我嘗試直接指定對象的每個字段(如下所示),則會遇到另一個錯誤:“ 'OAuthTokenResponse' 不包含采用 0 個參數的構造函數”。

var payload = JObject.Parse(await response.Content.ReadAsStringAsync());
var result = new OAuthTokenResponse()
            {
                Response = payload,
                AccessToken = payload.Value<string>("access_token"),
                TokenType = payload.Value<string>("token_type"),
                RefreshToken = payload.Value<string>("refresh_token"),
                ExpiresIn = payload.Value<string>("expires_in")
            };

實際上,從類定義中似乎沒有定義帶有任意數量參數的構造函數,盡管我懷疑它存在並且只是不可訪問,所以也許這是可以預料的。 不管是什么情況,我不知道該怎么做,我不知道是我做錯了什么還是包本身有問題。 任何見解?

這個問題源於對同一組包的多次引用。 我沒有意識到 2.2 之后的 ASP.NET Core 版本沒有被包含 Nuget 包所引用,並且 .NET Core 3.1 框架提供了最新版本。 我卸載/刪除了對 2.2 版軟件包的引用,問題消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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