Как я могу добавить роль к ответу, используя идентификацию asp.net, когда пользователь аутентифицируется?
Я работаю над проектом, в котором мне нужно аутентифицировать пользователя.Я построил API в ASP.NET и использую для аутентификации ASP.NET Framework.
Теперь мне нужно знать, какой пользователь вошел в систему, поэтому я назначил роли пользователям.Я не знаю, как отправить роль пользователя вместе с токеном на предъявителя.Я искал решение, но не нашел его.
Буду признателен за любую помощь.
Это код, который взаимодействует с API.
public ActionResult Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
var getTokenUrl = Wedding_Hall.AppSettings.TOKEN_URI;
using (HttpClient httpClient = new HttpClient())
{
HttpContent content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("grant_type", "password"),
new KeyValuePair<string, string>("username", model.Email),
new KeyValuePair<string, string>("password", model.Password)
});
HttpResponseMessage result = httpClient.PostAsync(getTokenUrl, content).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
if (result.IsSuccessStatusCode)
{
var token = JsonConvert.DeserializeObject<Token>(resultContent);
AuthenticationProperties options = new AuthenticationProperties();
options.AllowRefresh = true;
options.IsPersistent = true;
options.ExpiresUtc = DateTime.UtcNow.AddSeconds(int.Parse(token.expires_in));
var claims = new[]
{
new Claim(ClaimTypes.Name, model.Email),
new Claim("AcessToken", string.Format("Bearer {0}", token.access_token)),
};
var identity = new ClaimsIdentity(claims, "ApplicationCookie");
Request.GetOwinContext().Authentication.SignIn(options, identity);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", "Invalid Login Attempt");
return View("Login", model);
}
}
}