Я создал логин с asp.net core
и Identity
; Я уже знаю, как получить username
и role
, но как мне получить id
, который создается автоматически при создании пользователя?
Мне уже удалось получить идентификатор, но только если я помещу его как константу в NameIdentifier
внутри Claim
, и я хочу получать его каждый раз, когда пользователь входит в систему, поскольку константа всегда будет давать мне одного и того же пользователя, даже если она уже изменилась.
Таким образом я могу получить идентификатор, только если я поставлю его постоянным:
new Claim(ClaimTypes.NameIdentifier, "f75ce3f5-f51b-41af-bedb-cfefbe2327a1"),
здесь я создаю список претензий:
private UserToken BuildToken(UserInfo userInfo, IList<string> roles)
{
var claims = new List<Claim>()
{
new Claim(JwtRegisteredClaimNames.UniqueName, userInfo.Email),
new Claim(ClaimTypes.Name, userInfo.Email),
new Claim(ClaimTypes.NameIdentifier, "f75ce3f5-f51b-41af-bedb-cfefbe2327a1"),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
};
вот ищу пользователя id в контроллере:
var user = await _userManager.GetUserAsync(HttpContext.User);
concepto.id_Prop = Guid.Parse(user.Id.ToString());
context.Add(concepto);
await context.SaveChangesAsync();
return concepto.id_Conceptos;