Add roles

This commit is contained in:
Sébastien André
2021-03-17 16:18:24 +01:00
parent ee3a1273da
commit 4cf0c01680
2 changed files with 8 additions and 7 deletions

View File

@@ -56,8 +56,8 @@ namespace skydiveLogs_api.Controllers
else else
{ {
var resp = _mapper.Map<UserResp>(foundUser); var resp = _mapper.Map<UserResp>(foundUser);
var userRole = foundUser.IsAdmin ? "admin" : string.Empty; resp.Roles = foundUser.IsAdmin ? "admin" : string.Empty;
resp.Token = CreateToken(resp, userRole); resp.Token = CreateToken(resp);
result = Ok(resp); result = Ok(resp);
} }
@@ -81,8 +81,8 @@ namespace skydiveLogs_api.Controllers
else else
{ {
var resp = _mapper.Map<UserResp>(newUser); var resp = _mapper.Map<UserResp>(newUser);
var userRole = newUser.IsAdmin ? "admin" : string.Empty; resp.Roles = newUser.IsAdmin ? "admin" : string.Empty;
resp.Token = CreateToken(resp, userRole); resp.Token = CreateToken(resp);
result = Ok(resp); result = Ok(resp);
} }
@@ -90,8 +90,7 @@ namespace skydiveLogs_api.Controllers
return result; return result;
} }
private string CreateToken(UserResp foundUser, private string CreateToken(UserResp foundUser)
string role)
{ {
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtConf.Passphrase)); var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtConf.Passphrase));
var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
@@ -105,7 +104,7 @@ namespace skydiveLogs_api.Controllers
new Claim(ClaimTypes.Name, foundUser.Login), new Claim(ClaimTypes.Name, foundUser.Login),
new Claim(ClaimTypes.UserData, foundUser.Id.ToString()), new Claim(ClaimTypes.UserData, foundUser.Id.ToString()),
new Claim(ClaimTypes.Email, foundUser.Email), new Claim(ClaimTypes.Email, foundUser.Email),
new Claim(ClaimTypes.Role, role) new Claim(ClaimTypes.Role, foundUser.Roles)
}); });
return new JwtSecurityTokenHandler().WriteToken(token); return new JwtSecurityTokenHandler().WriteToken(token);

View File

@@ -12,6 +12,8 @@
public string Login { get; set; } public string Login { get; set; }
public string Roles { get; set; }
public string Token { get; set; } public string Token { get; set; }
} }
} }