From 4cf0c01680e9d87cf06d2c9b53e3632cb7522942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Wed, 17 Mar 2021 16:18:24 +0100 Subject: [PATCH] Add roles --- Back/skydiveLogs-api/Controllers/UserController.cs | 13 ++++++------- Back/skydiveLogs-api/DataContract/UserResp.cs | 2 ++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Back/skydiveLogs-api/Controllers/UserController.cs b/Back/skydiveLogs-api/Controllers/UserController.cs index a20dfca..6fd6db5 100644 --- a/Back/skydiveLogs-api/Controllers/UserController.cs +++ b/Back/skydiveLogs-api/Controllers/UserController.cs @@ -56,8 +56,8 @@ namespace skydiveLogs_api.Controllers else { var resp = _mapper.Map(foundUser); - var userRole = foundUser.IsAdmin ? "admin" : string.Empty; - resp.Token = CreateToken(resp, userRole); + resp.Roles = foundUser.IsAdmin ? "admin" : string.Empty; + resp.Token = CreateToken(resp); result = Ok(resp); } @@ -81,8 +81,8 @@ namespace skydiveLogs_api.Controllers else { var resp = _mapper.Map(newUser); - var userRole = newUser.IsAdmin ? "admin" : string.Empty; - resp.Token = CreateToken(resp, userRole); + resp.Roles = newUser.IsAdmin ? "admin" : string.Empty; + resp.Token = CreateToken(resp); result = Ok(resp); } @@ -90,8 +90,7 @@ namespace skydiveLogs_api.Controllers return result; } - private string CreateToken(UserResp foundUser, - string role) + private string CreateToken(UserResp foundUser) { var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtConf.Passphrase)); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); @@ -105,7 +104,7 @@ namespace skydiveLogs_api.Controllers new Claim(ClaimTypes.Name, foundUser.Login), new Claim(ClaimTypes.UserData, foundUser.Id.ToString()), new Claim(ClaimTypes.Email, foundUser.Email), - new Claim(ClaimTypes.Role, role) + new Claim(ClaimTypes.Role, foundUser.Roles) }); return new JwtSecurityTokenHandler().WriteToken(token); diff --git a/Back/skydiveLogs-api/DataContract/UserResp.cs b/Back/skydiveLogs-api/DataContract/UserResp.cs index 32b07a7..5bcf67e 100644 --- a/Back/skydiveLogs-api/DataContract/UserResp.cs +++ b/Back/skydiveLogs-api/DataContract/UserResp.cs @@ -12,6 +12,8 @@ public string Login { get; set; } + public string Roles { get; set; } + public string Token { get; set; } } }