繁体   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