aboutsummaryrefslogtreecommitdiff
path: root/backend/api/api/Controllers/AuthController.cs
diff options
context:
space:
mode:
authorOgnjen Cirkovic <ciraboxkg@gmail.com>2022-05-04 23:40:12 +0000
committerOgnjen Cirkovic <ciraboxkg@gmail.com>2022-05-04 23:40:12 +0000
commitc12f31b70fbce8542c2d4e23b5f003d7488bb03f (patch)
treecb64f2775335cdd856e81ec9e8ba0bed93fa0985 /backend/api/api/Controllers/AuthController.cs
parentbdabccc6e8f4d35085a4defe61c579ea0002f798 (diff)
parent7d7c18239582f8dcc5337a573c02033c0f5c3194 (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.cs32
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;
+ }
+
}