0

我能够在 ASP.NET 5 Beta 8 中使用 MicrosoftAccountAuthentication,但 Startup.cs 中的相同代码不会在 RC1 中构建

        app.UseMicrosoftAccountAuthentication(options =>
    {
        options.ClientId = "MyClientId";
        options.ClientSecret = "MyClientSecret";
    });

错误是

The type 'IApplicationBuilder' is defined in an assembly that is not referenced. You must add a reference to assembly  'Microsoft.AspNet.Http.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

但是Microsoft.AspNet.Http.Abstractions,Beta 8 中不需要该程序集,也无法添加到使用列表中。

我注意到微软文档总是引用使用 Facebook 身份验证。作为外部提供商的 Microsoft 帐户身份验证是否会消失?

4

1 回答 1

3

当我使用 VS 2015 中使用 rc1 工具创建的新 Web 应用程序尝试它时,它为我构建。

我在 project.json 的依赖项中添加了这个

"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-rc1-final",

我在 Startup.cs 的顶部添加了这个

using Microsoft.AspNet.Authentication.MicrosoftAccount;

我在 app.UseMvc 之前的 Startup.cs 的配置方法中添加了这段代码

app.UseMicrosoftAccountAuthentication(options =>
{
    options.ClientId = "MyClientId";
    options.ClientSecret = "MyClientSecret";
});

它对我来说构建得很好,并在登录页面上显示了 Microsoft 按钮,尽管我没有使用真实凭据对其进行测试。

我怀疑您的 project.json 文件中有问题,请确保您已将其中的所有内容更新为 rc1 引用,并且任何名为 Microsoft.Framework.* 的内容必须重命名为 Microsoft.Extensions.*

如果这不能帮助您解决问题,请更新您的问题以包含您的 project.json 文件内容。

于 2015-11-21T15:17:09.210 回答