diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2020-08-02 00:04:06 +0200 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2020-08-02 00:04:06 +0200 |
| commit | c7d72be2d1eed9b7fbfe719752ff800653d8c089 (patch) | |
| tree | 6c92e3e434bb49efc84a84c3c170a560728df93e /src/server/Controllers | |
| parent | f055808ca22d3df5e5984a1e27ef6aa49bcc5b9b (diff) | |
| download | dough-c7d72be2d1eed9b7fbfe719752ff800653d8c089.tar.xz dough-c7d72be2d1eed9b7fbfe719752ff800653d8c089.zip | |
change db, set cookie
Diffstat (limited to 'src/server/Controllers')
| -rw-r--r-- | src/server/Controllers/AccountController.cs | 16 | ||||
| -rw-r--r-- | src/server/Controllers/BaseController.cs | 1 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/server/Controllers/AccountController.cs b/src/server/Controllers/AccountController.cs index 58bb7b6..ee87a68 100644 --- a/src/server/Controllers/AccountController.cs +++ b/src/server/Controllers/AccountController.cs @@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Dough.Models; using Dough.Models.Database; +using Dough.Models.Payloads; using Dough.Models.Results; using Dough.Utilities; @@ -23,24 +24,25 @@ namespace Dough.Controllers } [HttpPost("login")] - public async Task<ActionResult> Login(string username, string password) + public async Task<ActionResult> Login(LoginPayload payload) { - var user = _context.Users.SingleByNameOrDefault(username); + var user = _context.Users.SingleByNameOrDefault(payload.Username); if (user == default) return BadRequest(new ErrorResult("Ugyldig brukernavn eller passord", "Verifiser at passord og brukernavn er riktig og prøv igjen")); - if (!user.VerifyPassword(password)) + if (!user.VerifyPassword(payload.Password)) return BadRequest(new ErrorResult("Ugyldig brukernavn eller passord", "Verifiser at passord og brukernavn er riktig")); var claims = new List<Claim> { new Claim(ClaimTypes.Name, user.Username), - new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()) + new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), + new Claim(ClaimTypes.AuthenticationInstant, DateTime.UtcNow.ToString("O")) }; - var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); + var claimsIdentity = new ClaimsIdentity(claims, Constants.AuthenticationScheme); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); var authenticationProperties = new AuthenticationProperties @@ -51,7 +53,7 @@ namespace Dough.Controllers ExpiresUtc = DateTime.UtcNow.AddDays(7), }; - await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, + await HttpContext.SignInAsync(Constants.AuthenticationScheme, claimsPrincipal, authenticationProperties); @@ -61,7 +63,7 @@ namespace Dough.Controllers [HttpGet("logout")] public async Task<ActionResult> Logout(string continueTo = default) { - await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); + await HttpContext.SignOutAsync(Constants.AuthenticationScheme); if (continueTo.IsPresent() && continueTo.IsValidUrl()) return Redirect(continueTo); return Ok(); } diff --git a/src/server/Controllers/BaseController.cs b/src/server/Controllers/BaseController.cs index 33f1e4b..046c060 100644 --- a/src/server/Controllers/BaseController.cs +++ b/src/server/Controllers/BaseController.cs @@ -1,7 +1,6 @@ using System;
using System.Security.Claims;
using Microsoft.AspNetCore.Mvc;
-using Dough.Models.Database;
using Dough.Utilities;
namespace Dough.Controllers
|
