Как обновить удостоверение личности пользователя после входа в систему .Net Core и angular 6? - PullRequest
0 голосов
/ 04 мая 2019

Я создаю идентификатор заявки при входе пользователя в систему и возвращаю строку токена на фронт, используя .Net Core API.Как обновить идентификатор заявки пользователя, например languageId, после того, как пользователь вошел в систему?Пожалуйста, найдите ниже мой код для входа пользователя и как я создаю заявку

    [HttpPost("login")]
    public async Task<IActionResult> Login([FromBody]LoginDTO loginDTO)
    {
        try
        {
            loginDTO.UserName = loginDTO.UserName.ToLower();
            Users user = await _db.UserLogin(loginDTO.UserName, loginDTO.Password);
            if (user == null)
            {
                throw new Exception("Wrong Username or Password");
            }
            string userToken = GenerateJSONWebToken(user);
            UserDTO userModel = new UserDTO
            {
                UserId = user.UserId,
                UserName = user.UserName,
                IsActive = user.IsActive,
                IsAdmin = user.IsAdmin,
                LanguageId = user.LanguageId,
                LastActivityDate = user.LastActivityDate,
                LastLoginDate = user.LastLoginDate,
                tokenString = userToken
            };
            return Ok(new { userModel });

        }
        catch (Exception e)
        {
            throw new Exception(e.ToString());
        }
    }

    private string GenerateJSONWebToken(Users userInfo)
    {
        var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
        var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
        var claims = new[] {
            new Claim(JwtRegisteredClaimNames.Sub, userInfo.UserName),
            new Claim(JwtRegisteredClaimNames.NameId, userInfo.UserId.ToString()),
            new Claim("RoleId",userInfo.RoleId.ToString()),
            new Claim("UserId", userInfo.UserId.ToString()),
            new Claim("LanguageId", userInfo.LanguageId.ToString()),
        };

        var token = new JwtSecurityToken(_config["Jwt:Issuer"],
            _config["Jwt:Issuer"],
            claims,
            expires: DateTime.Now.AddMinutes(120),
            signingCredentials: credentials);

        return new JwtSecurityTokenHandler().WriteToken(token);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...