要在ASP.NET Core 2.2项目中添加用于外部Facebook登录的控制器代码和UI按钮,可以按照以下步骤进行操作:
安装所需的NuGet包: 在Visual Studio的NuGet包管理器控制台中执行以下命令:
Install-Package Microsoft.AspNetCore.Authentication.Facebook
在Startup.cs文件的ConfigureServices方法中配置Facebook外部登录:
添加以下代码:
services.AddAuthentication().AddFacebook(options =>
{
options.AppId = "Your Facebook App Id";
options.AppSecret = "Your Facebook App Secret";
});
在Startup.cs文件的Configure方法中启用身份验证中间件:
添加以下代码:
app.UseAuthentication();
创建一个新的控制器,例如ExternalLoginController.cs,并添加以下代码:
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Mvc;
public class ExternalLoginController : Controller
{
public IActionResult FacebookLogin()
{
var redirectUrl = Url.Action("FacebookCallback", "ExternalLogin", new { returnUrl = "/Home/Index" });
var properties = HttpContext.Authentication.GetAuthenticationPropertiesAsync("Facebook", redirectUrl).Result;
return Challenge(properties, "Facebook");
}
public IActionResult FacebookCallback(string returnUrl)
{
// 处理Facebook登录回调逻辑
return RedirectToAction("Index", "Home");
}
}
在视图中添加UI按钮以触发Facebook登录: 在需要添加Facebook登录按钮的视图中,可以使用以下代码:
Facebook Login
确保将上述代码中的Your Facebook App Id和Your Facebook App Secret替换为您自己的Facebook应用程序的ID和密钥。
这样,您就可以在ASP.NET Core 2.2项目中创建一个用于外部Facebook登录的控制器代码和UI按钮了。当用户点击按钮时,他们将被重定向到Facebook登录页面,并在成功登录后返回到您指定的返回URL。