首页 > 解决方案 > 如何在 Core .NET 2.2 项目中启用 facebook 身份验证?

问题描述

我有一个C#在 Asp.NET Core 2.2 之上编写的项目。

我正在使用内置身份来启用帐户身份验证。

我现在正在尝试添加集成以启用 Facebook 身份验证。我按照文档在 Facebook 上创建了一个应用程序,然后在我的网站上启用它。但是,每次我尝试使用 Facebook 登录时,都会收到以下错误

URL 被阻止:此重定向失败,因为重定向 URI 未在应用的客户端 OAuth 设置中列入白名单。确保客户端和 Web OAuth 登录已打开,并将所有应用程序域添加为有效 OAuth 重定向 URI。

在我的 Facebook 帐户中,在Valid OAuth redirect URIs我放置的部分https://example.com/signin-facebook中,如下面的屏幕截图所示。

为了在我的网站中成功启用 Facebook 身份验证,还需要做什么?

这是我添加提供程序的方法

AuthenticationBuilder authBuilder = services.AddAuthentication(); 
foreach (var provider in providerService.GetAll())
{
    if (provider.Name == ExternalLoginProvider.Facebook)
    {
        authBuilder.AddFacebook(options =>
        {
            options.AppId = provider.AppId;
            options.AppSecret = provider.Secret;
        });
    }

    if (provider.Name == ExternalLoginProvider.Twitter)
    {
        authBuilder.AddTwitter(options =>
        {
            options.ConsumerKey = provider.AppId;
            options.ConsumerSecret = provider.Secret;
        });
    }
    // other providers
}   

这是我当前设置的快照,我在其中添加了我的 sie 在此处输入图像描述

标签: c#facebookasp.net-corefacebook-authenticationasp.net-core-2.2

解决方案


当您列入白名单https://www.realestatebyareen.com/signin-facebook时,您是在将应用程序部署到此 URL 后还是在本地测试 Facebook 登录?

如果在本地,那么您还需要将托管本地应用程序的 URL 列入白名单,很可能类似于https://localhost:<some-port>/signin-facebook.


推荐阅读