Ejemplo n.º 1
0
        private string GenerateJSONWebToken(UserRequestInfo userInfo)
        {
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"]));
            var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
            var header      = new JwtHeader(credentials);
            var claims      = new[] {
                new Claim("UserName", userInfo.UserName),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
            };

            var payload = new JwtPayload(
                issuer: _config["JWT:Issuer"],
                audience: _config["JWT:Audience"],
                claims: claims,
                notBefore: DateTime.UtcNow,
                expires: DateTime.UtcNow.AddMinutes(60)
                );

            var token = new JwtSecurityToken(
                header,
                payload
                );

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
        public IActionResult Register([FromBody] UserRequestInfo login)
        {
            IActionResult response = BadRequest();
            var           user     = _unitOfWork.Users.GetFiltered(i => i.UserName == login.UserName.Trim()).FirstOrDefault();

            if (user != null)
            {
                return(response);
            }
            var account = new Account()
            {
                Id      = new Guid(),
                Balance = 0
            };

            _unitOfWork.Accounts.Add(account);
            _unitOfWork.Users.Add(new User()
            {
                Id        = new Guid(),
                UserName  = login.UserName,
                Password  = PasswordHasher.HashPassword(login.PassWord),
                AccountId = account.Id
            });
            _unitOfWork.Commit();
            var tokenString = GenerateJSONWebToken(login);

            return(Ok(new { token = tokenString }));
        }
Ejemplo n.º 3
0
        public IActionResult Login([FromBody] UserRequestInfo login)
        {
            IActionResult response = Unauthorized();

            if (_authService.AuthenticateUser(login.UserName, login.PassWord))
            {
                var tokenString = GenerateJSONWebToken(login);
                response = Ok(new { token = tokenString });
            }
            return(response);
        }
        public IActionResult Login([FromBody] UserRequestInfo login)
        {
            IActionResult response = Unauthorized();
            var           user     = _unitOfWork.Users.GetFiltered(i => i.UserName == login.UserName.Trim()).FirstOrDefault();

            if (user == null)
            {
                return(response);
            }
            if (user.AuthenticateUser(login.PassWord))
            {
                var tokenString = GenerateJSONWebToken(login);
                response = Ok(new { token = tokenString });
            }

            return(response);
        }
Ejemplo n.º 5
0
    private void GetFriendRequestsCallback(IGraphResult result)
    {
        if (!string.IsNullOrEmpty(result.Error))
        {
            Debug.LogError("Can`t get app requests: " + result.Error);
        }

        //Debug.Log(result.RawResult);
        Dictionary <string, object> responseObject = Facebook.MiniJSON.Json.Deserialize(result.RawResult) as Dictionary <string, object>;

        var dataObject = responseObject["data"] as List <object>;

        foreach (var data in dataObject)
        {
            var requestData = new UserRequestInfo();
            Dictionary <string, object> friendDataObjectDict = data as Dictionary <string, object>;

            requestData.Id          = friendDataObjectDict["id"].ToString();
            requestData.Message     = friendDataObjectDict["message"].ToString();
            requestData.CreatedTime = friendDataObjectDict["created_time"].ToString();

            var fromData = friendDataObjectDict["from"] as Dictionary <string, object>;
            requestData.User = _friendUserFacebookInfos.Find(f => f.id == fromData["id"].ToString());

            if (friendDataObjectDict["data"].ToString() == "item_life")
            {
                requestData.Type = RequestType.SendLife;
            }
            else if (friendDataObjectDict["data"].ToString() == "request_item_life")
            {
                requestData.Type = RequestType.RequestLife;
            }

            _userRequests.Add(requestData);
        }

        if (_userRequests != null && _userRequests.Any())
        {
            if (OnGetRequestsEvent != null)
            {
                OnGetRequestsEvent.Invoke();
            }
        }
    }
Ejemplo n.º 6
0
        private User mapCsvStringToUser(string userCsv)
        {
            Match match = new Regex(@"(?:\[(.+)?\],|(.+?)[,]|(.+)?$)").Match(userCsv);

            List <string> fields = new List <string>();

            while (match.Success)
            {
                for (int i = 1; i <= 3; i++)
                {
                    if (match.Groups[i].Captures.Count == 1)
                    {
                        fields.Add(match.Groups[i].Captures[0].Value);
                    }
                }

                match = match.NextMatch();
            }

            if (fields.Count != 8)
            {
                // CSV is incorrectly formatted. Cannot map to User.
                return(null);
            }

            User user = new User();

            user.Id        = int.Parse(fields[0]);
            user.Name      = fields[1];
            user.Username  = fields[2];
            user.Interests = String.IsNullOrEmpty(fields[3]) ? null : fields[3].Split(",").ToList();

            UserRequestInfo userRequestInfo = new UserRequestInfo();

            userRequestInfo.Date       = fields[4];
            userRequestInfo.Time       = fields[5];
            userRequestInfo.DeviceName = fields[6];
            userRequestInfo.IpAddress  = fields[7];

            user.UserRequestInfo = userRequestInfo;

            return(user);
        }
Ejemplo n.º 7
0
        public void SetItem(object data, UIListType itemtype)
        {
            _requestData = data as UserRequestInfo;
            if (_requestData != null)
            {
                if (_requestData.Type.Equals(RequestType.RequestLife))
                {
                    if (_askLivesFields != null && _askLivesFields.Any())
                    {
                        _actionText.text       = _askLivesFields[0];
                        _informationText.text  = "";
                        _informationText.text += string.Format("{0} {1}\n", _requestData.User.firstName, _askLivesFields[1]);
                        _informationText.text += _askLivesFields[2];
                    }
                }
                else if (_requestData.Type.Equals(RequestType.SendLife))
                {
                    if (_sendLivesFields != null && _sendLivesFields.Any())
                    {
                        _actionText.text       = _sendLivesFields[0];
                        _informationText.text  = "";
                        _informationText.text += string.Format("{0} {1}\n", _requestData.User.firstName, _sendLivesFields[1]);
                        _informationText.text += _sendLivesFields[2];
                    }
                }

                if (_requestData.User.ProfilePicture != null)
                {
                    _userIcon.sprite = _requestData.User.ProfilePicture;
                }
                else
                {
                    _requestData.User.OnImageLoaded += () =>
                    {
                        _userIcon.sprite = _requestData.User.ProfilePicture;
                    };
                }
            }
        }