当前位置: 首页 > 知识库问答 >
问题:

取消外部登录时出现异常

邢皓
2023-03-14

(不要害怕这个大的描述,我只是想具体一些,这样回答者就更容易了)

我正在使用ASP. Net Core 2.1构建一个具有外部登录功能的Web应用程序。但是当外部(facebook)登录被取消并且facebook重定向到源应用程序时,发生了内部服务器错误。这意味着,您单击了Facebook外部登录按钮,然后通过单击“现在不行”按钮取消了它。Facebook重定向回您的应用程序(https://localhost: port/Signin-facebook?…);然后瞧——异常。

处理请求时发生未处理的异常。异常:access_denied;说明=权限错误未知位置

异常:在处理远程登录时遇到错误。Microsoft. aspNetCore.身份验证. Remote teAuth

当 Asp.net Core 系统从 Startup.cs 类准备 facebook 身份验证时,“https://.../signin-facebook”路由将由 Facebook 身份验证提供程序自动生成,如 Microsoft 文档和 Github/aspnet 中所述:

    < Li > https://learn . Microsoft . com/en-us/aspnet/core/security/authentic ation/social/Facebook-logins?view=aspnetcore-2.1

但预期的行为是-它将被重定向到默认登录页面。

这是创业公司。cs代码段:

services.ConfigureApplicationCookie(options => options.LoginPath = "/Account/LogIn");
services
    .AddAuthentication(o => o.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options =>
    {
        options.LoginPath = "/Account/Login";
        options.LogoutPath = "/Account/Logout";
    });

services.AddAuthentication()
    .AddFacebook(o =>
    {   
        o.AppId = Configuration.GetValue<string>("Facebook:AppId");
        o.AppSecret = Configuration.GetValue<string>("Facebook:AppSecret");
    });

配置了一个自定义回调路径(如microsoft文档中所述),但也有相同的例外。

那么…到底怎么回事?有什么问题?解决办法是什么?

仅供参考,我没有从应用程序访问数据库,也没有使用默认的< code>IdentityDbContext和< code >。UseModel()和使用< code>HttpContext的cookie验证。siginasync 。当外部登录完成而不是取消时,一切正常。

共有1个答案

慕容兴贤
2023-03-14

根据Asp. Net Core GitHub存储库,Asp.net核心团队正在研究它。目前开发人员正在使用On

Startup.cs:

services.AddAuthentication()
    .AddFacebook(o =>
    {   
        o.AppId = Configuration.GetValue<string>("Facebook:AppId");
        o.AppSecret = Configuration.GetValue<string>("Facebook:AppSecret");
        o.Events.OnRemoteFailure = (context) =>
        {
            context.Response.Redirect("/account/login");
            context.HandleResponse();
            return System.Threading.Tasks.Task.CompletedTask;
        };
    });

 类似资料:
  • 客户端SPA应用程序,我要使用的登录页面驻留于此 OAuth身份验证服务器(使用Spring Security OAuth/) 一个或多个OAuth资源服务器 我寻求的OAuth流如下所示: 用户尝试访问SPA中的安全路由 客户端将用户重定向到OAuth服务器的授权页(参数包括状态、随机数等) OAuth服务器未检测到令牌并重定向到SPA的登录页 用户登录;post到登录url(登录url位于OA

  • 我的 Xamarin 应用程序中有以下两个类,用于将图像上传到服务器: 每当我在应用程序的UI中按下按钮时,都会调用方法。 这就是我所做的: 按两次按钮,将调用两次。第一次开始上传,第二次取消上传,我会收到 我又按了两次按钮。第一次启动上载,但第二次导致 有谁知道为什么 2 中描述的异常。被扔了? 使现代化 下面是异常的堆栈跟踪。它被抛出到带有<code>await imageTask</code

  • 我想知道,我可以让人们从一个普通的PHP页面登录到squirelmail/roundcube等吗? 所以我会有一个登录布局设置,如果他们填写了他们的电子邮件和密码,它就会将他们登录到squirellmail/roundcube?他们不能使用SquirelMail的登录页面,而是使用我创建的登录页面。 这可能吗?如果可能,怎么可能?

  • 我使用jax-ws 2.2.7来生成web服务。操作签名是: TKS!!!

  • < li >尝试通过位于英国的电脑进行录制,我们是来自印度的RDP < li >使用的JMeter版本是2.13r1665067 < Li > Mozilla Firefox中使用和完成的代理设置如下: 在手动代理配置中:Http代理:localhost端口:8080 195.59.125.25-P 57378 在Jmeter GUI中,我们添加了以下内容:a.线程组--记录控制器--Http请求

  • 我在Eclipse中创建了四个相互依赖的库。当我将这些库添加到我的Android项目中时,我得到了下面的异常。在经历了一个排除的过程后,我发现是三个库中的一个导致了异常。 我在另一个Eclipse项目中成功地使用了这四个库,因此我认为它们没有任何问题,问题必须是特定于Android的。 我还将这些库添加到一个新的空白Android项目中,在那里它们工作得很好。 我对所讨论的库有哪些选择?我是一个接