示例#1
0
        public string CreateJwtToken(PaciakUser paciakUser)
        {
            var claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, paciakUser.Slug),
                new Claim(JwtRegisteredClaimNames.Jti, paciakUser.Uid.ToString())
            };

            var symmetricSecurityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(tokenOptions.Value.SecretKey));
            var signingCredentials   = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256);

            var jwtToken = new JwtSecurityToken(
                tokenOptions.Value.Issuer,
                tokenOptions.Value.Issuer,
                claims,
                expires: DateTime.UtcNow.AddMinutes(tokenOptions.Value.TimeToExpire),
                signingCredentials: signingCredentials
                );

            return(new JwtSecurityTokenHandler().WriteToken(jwtToken));
        }
示例#2
0
        private async Task <PaciakUser> GetCoordinates(PaciakUser user)
        {
            user.Coordinates = await locationRepository.FindLocationCoordinates(user.Location);

            return(user);
        }