public async Task <ActionResult <LoginResponse> > Login([FromBody] Loginrequest input)
        {
            var token = await _UserLogic.CreateTokenAsync(input.UserNameOrEmail, input.Password).ConfigureAwait(false);


            return(Ok(new LoginResponse {
                Token = new JwtSecurityTokenHandler().WriteToken(token)
            }));
        }
示例#2
0
        public async Task <ActionResult <Baserepone> > Login(Loginrequest request)
        {
            if (!String.IsNullOrEmpty(request.username) && !String.IsNullOrEmpty(request.password))
            {
                var user = await _context.Users.Where(x => x.username == request.username && x.password == Utils.Helepr.GenHash(request.password)).AsNoTracking().SingleOrDefaultAsync();

                if (user != null)
                {
                    //generate token (key)
                    var claimData = new[] { new Claim(ClaimTypes.Name, request.username) };
                    // mã hóa và đầu vào là dạng một mảng byte
                    var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("1234567890asdfghjkl"));
                    // mã hóa bằng thuật toán hmacSha256
                    var singingCredential = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
                    var token             = new JwtSecurityToken(
                        issuer: "http://localhost:2348",
                        audience: "http://localhost:2348",
                        expires: DateTime.Now.AddMinutes(30),
                        signingCredentials: singingCredential
                        );
                    var tokenString = new JwtSecurityTokenHandler().WriteToken(token);

                    return(new Baserepone(new Loginrepone {
                        id = user.userId, username = user.username, name = user.name, token = "Bearer " + tokenString
                    }));
                }
                else
                {
                    return(new Baserepone {
                        errorcode = 1, errormessage = "Wrong username or password"
                    });
                }
            }

            return(new Baserepone {
                errorcode = 1, errormessage = "Wrong username or empty"
            });
        }