Add a admin user and the "role" information into the token.
This commit is contained in:
@@ -55,9 +55,9 @@ namespace skydiveLogs_api.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
foundUser.Password = null;
|
||||
var resp = _mapper.Map<UserResp>(foundUser);
|
||||
resp.Token = CreateToken(resp);
|
||||
var userRole = foundUser.IsAdmin ? "admin" : string.Empty;
|
||||
resp.Token = CreateToken(resp, userRole);
|
||||
|
||||
result = Ok(resp);
|
||||
}
|
||||
@@ -80,9 +80,9 @@ namespace skydiveLogs_api.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
newUser.Password = null;
|
||||
var resp = _mapper.Map<UserResp>(newUser);
|
||||
resp.Token = CreateToken(resp);
|
||||
var userRole = newUser.IsAdmin ? "admin" : string.Empty;
|
||||
resp.Token = CreateToken(resp, userRole);
|
||||
|
||||
result = Ok(resp);
|
||||
}
|
||||
@@ -90,7 +90,8 @@ namespace skydiveLogs_api.Controllers
|
||||
return result;
|
||||
}
|
||||
|
||||
private string CreateToken(UserResp foundUser)
|
||||
private string CreateToken(UserResp foundUser,
|
||||
string role)
|
||||
{
|
||||
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtConf.Passphrase));
|
||||
var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
|
||||
@@ -103,7 +104,8 @@ 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.Email, foundUser.Email),
|
||||
new Claim(ClaimTypes.Role, role)
|
||||
});
|
||||
|
||||
return new JwtSecurityTokenHandler().WriteToken(token);
|
||||
|
||||
Reference in New Issue
Block a user