3

我刚刚开始通过使用 OAuth 登录创建一个测试单页应用程序来深入研究新的 ASP.NET 5。我已经知道我可以为此目的使用 IdentityServer3,它看起来很不错。我发现Dominick Baier 的一篇文章解释了如何设置 IdentityServer3。但是,该帖子似乎已过时,或者身份服务器本身无法使用最新版本的 ASP.NET 5(目前是 beta7)。

问题是,当我尝试在 Startup.cs 中配置 IdentityServer 时,我收到来自 VS 的错误,告诉我 IApplicationBuilder 没有名为 UseIdentityServer 的扩展方法。这似乎是真的,因为在 IdentityServer3 源代码中,他们为 IAppBuilder(而不是 IApplicationBuilder)声明了这个扩展方法。

这是我的代码(Startup.cs):

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    // Add MVC to the request pipeline.
    app.UseMvc();

    var options = new IdentityServerOptions
    {
        Factory = new IdentityServerServiceFactory()
    };

    app.UseIdentityServer(options);
}

错误(在最后一行)是

“IApplicationBuilder”不包含“UseIdentityServer”的定义,并且最佳扩展方法重载“UseIdentityServerExtension.UseIdentityServer(IAppBuilder, IdentityServerOptions)”需要“IAppBuilder”类型的接收器

显然,如果我将 Configure 方法中的参数类型更改为 IAppBuiler,它会抛出运行时错误,因为依赖注入将无法注入该类型。即使会,我也会失去 UseMvc() 扩展方法。

那么你能指出我正确的方向吗?也许我只是在这里遗漏了一些微小但至关重要的东西。

提前致谢!

4

0 回答 0