43 lines
1.0 KiB
C#
43 lines
1.0 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Suspectus.Gandalf.Bridgekeeper.Contracts.Controller.Auth;
|
|
|
|
namespace Suspectus.Gandalf.Bridgekeeper.Api.Controllers;
|
|
|
|
[ApiController]
|
|
[Route("api/[controller]")]
|
|
public class AuthController : ControllerBase
|
|
{
|
|
[HttpGet("[action]")]
|
|
public async Task<IActionResult> Check()
|
|
{
|
|
return Ok(true);
|
|
}
|
|
|
|
[HttpPost("[action]")]
|
|
public async Task<IActionResult> Login([FromBody] LoginCommand loginCommand)
|
|
{
|
|
Response.Cookies.Append("MithrandirSession", loginCommand.UsernameOrEmail, new CookieOptions
|
|
{
|
|
Secure = true,
|
|
HttpOnly = true,
|
|
SameSite = SameSiteMode.Lax,
|
|
Expires = DateTime.UtcNow.AddMinutes(30)
|
|
});
|
|
|
|
return Ok();
|
|
}
|
|
|
|
[HttpGet("[action]")]
|
|
public async Task<IActionResult> Logout()
|
|
{
|
|
Response.Cookies.Delete("MithrandirSession");
|
|
|
|
return Ok();
|
|
}
|
|
|
|
[HttpPost("[action]")]
|
|
public async Task<IActionResult> Register()
|
|
{
|
|
return Ok(true);
|
|
}
|
|
} |