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 })); }
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); }
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(); } } }
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); }
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; }; } } }