Exemplo n.º 1
0
        private async Task <string> TakeUserIdByAccessToken()
        {
            var access_token = await HttpContext.GetTokenAsync("access_token");

            string userId = "";

            if (string.IsNullOrEmpty(access_token))
            {
                userId = "Unauthorized";
            }

            // ------- Extract userId (sub) from access token
            string accessTokenString = new JwtSecurityTokenHandler().ReadJwtToken(access_token).ToString();
            string toBeSearched      = "\"sub\":\"";

            userId = accessTokenString.Substring(accessTokenString.IndexOf(toBeSearched) + toBeSearched.Length);
            userId = userId.Substring(0, userId.IndexOf("\""));

            return(userId);
        }
Exemplo n.º 2
0
        //Создание токена
        private string GenerateJSONWebToken(User user)
        {
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("Jwt:Keyqwertyuytrewertyuiqwe"));
            var credintalis = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);


            var claims = new[] {
                new Claim(JwtRegisteredClaimNames.Email, user.Email),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(ClaimTypes.Role, user.Role)
            };
            var token = new JwtSecurityToken(
                issuer: "Jwt:Issuer",
                audience: "Jwt:Issuer",
                claims,
                expires: DateTime.Now.AddHours(24),
                signingCredentials: credintalis);
            string encodetoken  = new JwtSecurityTokenHandler().WriteToken(token);
            string token_return = encodetoken.Substring(encodetoken.LastIndexOf('.') + 1);

            return(token_return);
        }