示例#1
0
        public async Task <IActionResult> Login([FromBody] Dictionary <string, string> pairs)
        {
            var username = pairs["username"];
            var password = pairs["password"];
            var msg      = _jwtAuthService.Login(username, password);

            return(Ok(await Task.FromResult(msg)));
        }
        public async Task <IActionResult> Login([FromBody] UserLoginDTO userDTO)
        {
            var user = await _jwtAuthService.Login(userDTO.Username, userDTO.Password);

            if (user == null)
            {
                return(BadRequest("Invalid username or password!"));
            }

            var token = _jwtAuthService.CreateToken(user);

            return(Ok(new { token, user = new UserDTO {
                                Id = user.Id, Name = user.FullName
                            } }));
        }
示例#3
0
        /// <summary>
        /// 微信授权登录
        /// </summary>
        /// <param name="wxAuth"></param>
        /// <returns></returns>
        public MsgModel AuthLogin(WXAuth wxAuth)
        {
            var wxDecrypt   = WxDecrypt(wxAuth.EncryptData, wxAuth.SessionId, wxAuth.IV);
            var dict        = JsonConvert.DeserializeObject <Dictionary <string, object> >(wxDecrypt);
            var phoneNumber = dict["phoneNumber"].ToString();
            var user        = _baseService.GetModels(a => a.phone == phoneNumber).SingleOrDefault();

            if (user != null) // 登录
            {
                return(_jwtAuthService.Login(user.username, user.password));
            }
            else // 注册
            {
                // 加密登录密码
                var initPassword = PasswordEncoder.Encode(CommonUtils.GetStringRandom(10));
                var userDto      = new SysUser
                {
                    phone    = phoneNumber,
                    password = initPassword
                };
                return(_jwtAuthService.SignUp(userDto));
            }
        }