我尝试在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 });
知道我拒绝访问的原因吗?
答案 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模板,如果您可以提供演示项目来帮助重现此问题,将会很有帮助。