diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-05-04 23:40:12 +0000 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-05-04 23:40:12 +0000 |
commit | c12f31b70fbce8542c2d4e23b5f003d7488bb03f (patch) | |
tree | cb64f2775335cdd856e81ec9e8ba0bed93fa0985 /backend/api/api/Controllers/AuthController.cs | |
parent | bdabccc6e8f4d35085a4defe61c579ea0002f798 (diff) | |
parent | 7d7c18239582f8dcc5337a573c02033c0f5c3194 (diff) |
Merge branch 'Guest-Koristik-Ispravka-FrontEnd' into 'redesign'
Merge
See merge request igrannonica/neuronstellar!28
Diffstat (limited to 'backend/api/api/Controllers/AuthController.cs')
-rw-r--r-- | backend/api/api/Controllers/AuthController.cs | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/backend/api/api/Controllers/AuthController.cs b/backend/api/api/Controllers/AuthController.cs index 901454e1..f70146ed 100644 --- a/backend/api/api/Controllers/AuthController.cs +++ b/backend/api/api/Controllers/AuthController.cs @@ -4,6 +4,8 @@ using Microsoft.AspNetCore.Mvc; using api.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.Net.Http.Headers; +using System.Net.Http.Headers; +using api.Models; namespace api.Controllers { @@ -12,16 +14,20 @@ namespace api.Controllers public class AuthController : ControllerBase { private IAuthService _auth; - public AuthController(IAuthService auth) + private IJwtToken _jwtToken; + public AuthController(IAuthService auth, IJwtToken Token) { _auth = auth; + _jwtToken = Token; } [HttpPost("register")] public async Task<ActionResult<string>> Register(RegisterRequest user) { - - return Ok(_auth.Register(user)); + string id=getUserId(); + if (id == null) + return BadRequest(); + return Ok(_auth.Register(user,id)); } [HttpPost("login")] @@ -45,7 +51,7 @@ namespace api.Controllers } [HttpPost("renewJwt")] - [Authorize(Roles = "User")] + [Authorize(Roles = "User,Guest")] public async Task<ActionResult<string>> RenewJwt() { var authorization = Request.Headers[HeaderNames.Authorization]; @@ -57,6 +63,24 @@ namespace api.Controllers } + public string getUserId() + { + string uploaderId; + var header = Request.Headers[HeaderNames.Authorization]; + if (AuthenticationHeaderValue.TryParse(header, out var headerValue)) + { + var scheme = headerValue.Scheme; + var parameter = headerValue.Parameter; + uploaderId = _jwtToken.TokenToId(parameter); + if (uploaderId == null) + return null; + } + else + return null; + + return uploaderId; + } + } |