/// <summary> /// 获取token /// author:陶林辉 /// </summary> /// <param name="userId">用户id</param> /// <returns></returns> public UserTokenView GetToken(long userId) { var vInfo = _context.UserLogin.Where(e => e.Userid == userId).FirstOrDefault(); string strToken = Guid.NewGuid().ToString(); string strId = _sys.Md5Encode($"{vInfo.Userid}{vInfo.Createtime}"); string strSession = Guid.NewGuid().ToString(); var entity = new UserLoginDto { Createtime = vInfo.Createtime, Updatetime = vInfo.Updatetime, Is_first = vInfo.Is_first, Password = vInfo.Password, Phone = vInfo.Phone, Salt = vInfo.Salt, Status = vInfo.Status, Token = strToken, Userid = vInfo.Userid }; UserTokenView Token = new UserTokenView { SessionToken = strSession, UserOpenId = strId, UserToken = strToken }; RedisHelper.KeyDelete($"{CacheKey.Token}{strId}"); RedisHelper.KeyDelete($"{CacheKey.SessionToken}{strId}"); RedisHelper.StringSet($"{CacheKey.Token}{strId}", entity, RedisFolderEnum.token, RedisEnum.Three); RedisHelper.StringSet($"{CacheKey.SessionToken}{strId}", strSession, 5, RedisFolderEnum.sessionToken, RedisEnum.Three); return(Token); }
public async Task <ResponseViewModel <UserTokenView> > PwdLogin([FromBody] RequestViewModel obj) { var result = new UserTokenView(); ResponseViewModel <UserTokenView> response = null; obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); var code = SysCode.Ok; string strPhone = (string)obj.Data.phone; bool isExist = await _user.PhoneExistAsync(strPhone); if (isExist) { var userLogin = await _user.GetUserLoginAsync(strPhone); string strPwd = _sys.Md5Encode($"{(string)obj.Data.password}{userLogin.Salt}"); long userId = _user.UserLoginOrPwd(strPhone, strPwd); if (userId != 0) { result = _token.GetToken(userId); response = new ResponseViewModel <UserTokenView>(SysCode.Ok, result, obj.Encrypt, _sys, obj.Secret); await _user.RecordLoginLogAsync(new userLoginLogDto { App_version = obj.Client.Version, Createtime = TimeHelper.GetDateTime(), Device_code = obj.Client.DeviceCode, Gps = obj.Client.Gps, Os_type = obj.Client.OsType, Os_version = obj.Client.OsVersion, Phone = obj.Data.phone, Userid = userId }); } else { code = SysCode.PwdErr; } } else { //未注册 code = SysCode.PhoneNonentity; } response = new ResponseViewModel <UserTokenView>(code, code == SysCode.Ok ? result : null, obj.Encrypt, _sys, obj.Secret); return(response); }
public ResponseViewModel <UserTokenView> CodeLogin([FromBody] RequestViewModel obj) { var result = new UserTokenView(); ResponseViewModel <UserTokenView> response = null; obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); string strPhone = (string)obj.Data.phone; string strCode = (string)obj.Data.verifyCode; string strKey = $"{ CacheKey.LogIn.ToString()}{strPhone}"; if (RedisHelper.KeyExists(strKey, RedisFolderEnum.code, RedisEnum.Four) && RedisHelper.StringGet(strKey, RedisFolderEnum.code, RedisEnum.Four).Equals(strCode)) { long userId = _user.GetUserIdByPhone(strPhone); result = _token.GetToken(userId); response = new ResponseViewModel <UserTokenView>(SysCode.Ok, result, obj.Encrypt, _sys, obj.Secret); RedisHelper.KeyDelete(strKey, RedisFolderEnum.code, RedisEnum.Four); } else { //不存在 response = new ResponseViewModel <UserTokenView>(SysCode.CodeErr, null, obj.Encrypt, _sys, obj.Secret); } return(response); }
public ResponseViewModel <UserTokenView> register([FromBody] RequestViewModel obj) { UserTokenView token = new UserTokenView(); ResponseViewModel <UserTokenView> response = null; obj = JsonHelper.DeserializeJsonToObject <RequestViewModel>(Content(User.Identity.Name).Content); string strKey = $"{CacheKey.Rgister.ToString()}{obj.Data.phone}"; if (RedisHelper.KeyExists(strKey, RedisFolderEnum.code, RedisEnum.Four) && RedisHelper.StringGet(strKey, RedisFolderEnum.code, RedisEnum.Four).Equals((string)obj.Data.verifyCode)) { var salt = _sys.GetRandomSeed(8); long userId = _user.Register(new RegisterDto { App_version = obj.Client.Version, Channel = obj.Client.Channel, Createtime = DateTime.Now, Device_code = obj.Client.DeviceCode, Os_type = obj.Client.OsType, Gps = obj.Client.Gps, Os_version = obj.Client.OsVersion, Phone = obj.Data.phone, Platform = obj.Client.Platform, Updatetime = DateTime.Now }, new UserLoginDto { Createtime = TimeHelper.GetDateTime(), Is_first = 1, Password = _sys.Md5Encode($"{(string)obj.Data.password}{salt}"), Phone = obj.Data.phone, Status = 0, Updatetime = TimeHelper.GetDateTime(), Salt = salt }, new UserInfoDto { Createtime = TimeHelper.GetDateTime(), //Head = "", Updatetime = TimeHelper.GetDateTime(), //Nick_name = "" }); if (userId != 0) { //获取token token = _token.GetToken(userId); response = new ResponseViewModel <UserTokenView>(SysCode.Ok, token, obj.Encrypt, _sys, obj.Secret); _user.RecordLoginLogAsync(new userLoginLogDto { App_version = obj.Client.Version, Createtime = TimeHelper.GetDateTime(), Device_code = obj.Client.DeviceCode, Gps = obj.Client.Gps, Os_type = obj.Client.OsType, Os_version = obj.Client.OsVersion, Phone = obj.Data.phone, Userid = userId }); RedisHelper.KeyDelete(strKey, RedisFolderEnum.code, RedisEnum.Four); } else { response = new ResponseViewModel <UserTokenView>(SysCode.Err, null, obj.Encrypt, _sys, obj.Secret); } } else { /*不存在验证码,返回验证码错误*/ response = new ResponseViewModel <UserTokenView>(SysCode.CodeErr, null, obj.Encrypt, _sys, obj.Secret); } return(response); }
/// <summary> /// 查询Token /// </summary> /// <param name="model"></param> /// <returns></returns> public UserTokenView GetToken(UserTokenInput model) { UserTokenView result = new UserTokenView(); return(result); }