Dies ist mein aktueller Reaktionskörper
Code: Select all
{ "tokenType": "string", "accessToken": "string", "expiresIn": 0, "refreshToken": "string" }< /code>, < /p>
Ich möchte dieses
erstellen{ "tokenType": "string", "accessToken": "string", "expiresIn": 0, "refreshToken": "string", "role":"client" }
Ich habe es versucht.
Code: Select all
[HttpPost]
public async Task Login([FromBody] LoginRequest request)
{
var user = await _userManager.FindByEmailAsync(request.Email);
if (user == null)
{
throw new Exception("Invalid user!");
}
var result = await _signInManager.PasswordSignInAsync(request.Email, request.Password,false, false);
if (!result.Succeeded)
{
throw new Exception("Invalid result");
}
var role = await GetUserRole(user);
CreateProperties(role);
return Ok(role);;
}
private async Task GetUserRole(User user)
{
var rolename = await _userManager.GetRolesAsync(user);
return rolename.FirstOrDefault();
}
private static AuthenticationProperties CreateProperties(string userRole)
{
IDictionary data = new Dictionary
{
{ "userRole", userRole }
};
return new AuthenticationProperties(data);
}