Asp.net Core和Microsoft帐户身份验证访问被拒绝

时间:2016-10-11 15:41:21

标签: authentication azure-active-directory asp.net-core-1.0

我尝试在ASP.net核心应用程序中设置Microsoft帐户身份验证 我几乎跟着ben day's post期待我无法走到尽头 一旦用户重定向到应该输入电子邮件地址的步骤,我就会重定向到访问被拒绝页面(来自我的asp.net应用程序)。
在控制台中,我可以看到以下错误消息:

  

Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware:信息:AuthenticationScheme:Identity.External已登录。   Microsoft.AspNetCore.Hosting.Internal.WebHost:信息:请求在1260.8977ms完成302   Microsoft.AspNetCore.Hosting.Internal.WebHost:信息:请求启动HTTP / 1.1 GET http://localhost:44394/
  Microsoft.AspNetCore.Authorization.DefaultAuthorizationService:信息:用户授权失败:。   Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker:警告:过滤器&m; Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter'中的请求授权失败。   Microsoft.AspNetCore.Mvc.ChallengeResult:信息:使用身份验证方案执行ChallengeResult()。   Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware:信息:AuthenticationScheme:Identity.External已成功通过身份验证。   Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware:信息:AuthenticationScheme:Identity.External被禁止。   Microsoft.AspNetCore.Authentication.MicrosoftAccount.MicrosoftAccountMiddleware:信息:AuthenticationScheme:Microsoft被禁止。

这是我当前的配置(非常简单)

  

app.UseIdentity();               app.UseMicrosoftAccountAuthentication(新的MicrosoftAccountOptions               {                   DisplayName =" Microsoft Account",                   ClientId ="我的ID",                   ClientSecret ="我的秘密",                   AutomaticChallenge = true               });

知道我拒绝访问的原因吗?

1 个答案:

答案 0 :(得分:1)

我正在尝试构建一个使用Microsoft帐户进行身份验证的Asp.Net核心Web应用程序,它对我很有用。它使用cookie和Microsoft Account组件,以下是供您参考的代码:

app.UseCookieAuthentication(new CookieAuthenticationOptions());

app.UseMicrosoftAccountAuthentication(new MicrosoftAccountOptions {
            DisplayName = "Microsoft Account",
            ClientId = "",
            ClientSecret = "",
            AutomaticChallenge = true,
            SignInScheme= "Cookies"
});

public async Task Login()
{

     await HttpContext.Authentication.ChallengeAsync(new AuthenticationProperties() { RedirectUri = "/" });
}

您可以参考here的完整代码示例。要运行此代码示例,您需要先从here注册应用,然后添加网络平台并配置重定向网址http://localhost:7507/signin-microsoft

对于原始问题,由于不再存在Asp.net 5模板,如果您可以提供演示项目来帮助重现此问题,将会很有帮助。

相关问题