// AccountController.cs using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication.Facebook; using Microsoft.AspNetCore.Mvc; namespace Postall.Controllers { public class OtherLoginsController : Controller { [HttpGet] public IActionResult Index() { return View(); } [HttpGet] public IActionResult FacebookLogin() { var properties = new AuthenticationProperties { RedirectUri = Url.Action("FacebookResponse") }; return Challenge(properties, FacebookDefaults.AuthenticationScheme); } [HttpGet] public async Task FacebookResponse() { var result = await HttpContext.AuthenticateAsync(FacebookDefaults.AuthenticationScheme); if (!result.Succeeded) return RedirectToAction("Login"); var claims = result.Principal.Identities.FirstOrDefault() .Claims.Select(claim => new { claim.Issuer, claim.OriginalIssuer, claim.Type, claim.Value }); // Aqui você pode implementar sua lógica de login // Por exemplo, criar ou atualizar o usuário no banco de dados return RedirectToAction("Index", "Home"); } [HttpPost] public IActionResult Logout() { return SignOut("Cookies", FacebookDefaults.AuthenticationScheme); } } }