Пример #1
0
        public JwtPacket Register([FromBody] Mercury.Models.Users user)
        {
            //add info from packet to DB
            context.Users.Add(user);
            //save changes
            context.SaveChanges();

            //returns token to user
            return(CreateJwtPacket(user));
        }
Пример #2
0
        //creates the users token
        //the token is what verifies if the user is currently logged in
        JwtPacket CreateJwtPacket(Mercury.Models.Users user)
        {
            var origin = user.Id;

            var signingKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes("this is the secret phrase"));

            var signingCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256);

            var claims = new Claim[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, user.Id.ToString())
            };

            var jwt = new JwtSecurityToken(claims: claims, signingCredentials: signingCredentials);

            var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt);

            return(new JwtPacket()
            {
                Token = encodedJwt, UserName = user.UserName, FirstName = user.FirstName, LastName = user.LastName, Id = origin.ToString()
            });
        }