by Anonymous » 15 May 2025, 05:10
Wenn ich mich anmelde, kann ich in meinem Reaktionskörper keinen Rollenparameter hinzufügen.
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);
}
Wenn ich mich anmelde, kann ich in meinem Reaktionskörper keinen Rollenparameter hinzufügen.
Dies ist mein aktueller Reaktionskörper
[code]{ "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" }[/code]
Ich habe es versucht.[code] [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);
}
[/code]