Lieb-Website/Lieb/Data/AccountController.cs
2022-02-13 20:40:15 +01:00

32 lines
1 KiB
C#

using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Mvc;
namespace Lieb.Data
{
[Route("[controller]/[action]")] // Microsoft.AspNetCore.Mvc.Route
public class AccountController : ControllerBase
{
public IDataProtectionProvider Provider { get; }
public AccountController(IDataProtectionProvider provider)
{
Provider = provider;
}
[HttpGet]
public IActionResult Login(string returnUrl = "/")
{
return Challenge(new AuthenticationProperties { RedirectUri = returnUrl }, "Discord");
}
[HttpGet]
public async Task<IActionResult> Logout(string returnUrl = "/")
{
//This removes the cookie assigned to the user login.
await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
return LocalRedirect(returnUrl);
}
}
}