public async Task <IActionResult> Login([FromBody] LoginReq loginModel) { if (ModelState.IsValid) { //1. Validate user in db var user = await _loginService.ValidateUserAsync(loginModel.UserName, loginModel.PassWord); if (user != null) { //2. Generate token if user exists var token = _loginService.GenerateToken(user); return(Ok(new Response { Success = true, BearerToken = token, Data = new ResponseData { Email = user.Email } })); } //3. If user unauth. return UnAuthorized return(Unauthorized(new Response { Success = false, ErrorMessage = "Email-address and/or password - incorrect" })); } return(Unauthorized(new Response { Success = false, ErrorMessage = "Both email-address and password must be submitted" })); }
void Start() { LoginReq model1 = new LoginReq() { username = "******", password = "******" }; // 序列化 byte[] req = Util.Serialize(model1); Debug.Log(System.BitConverter.ToString(req)); // 模拟打包 byte[] data = MessageParse.Parse(1, Consts_CommandId.C2S_Login, req); // -------------------- // 网络传输...... // -------------------- // 模拟解包 MessageData res = MessageParse.Unparse(data); // 反序列化 LoginReq model2 = Util.Deserialize <LoginReq>(res.body.msg); // 查看结果 Debug.Log("commandId : " + res.body.commandId); Debug.Log("username : "******"password : " + model2.password); }
public void rpc_login(String username, String password, Action <ErrCode, String, UInt64, String, String> callback) { var toHostId = Global.IdManager.GetHostIdByActorId(this.toActorId, this.isClient); if (this.FromHostId == toHostId) { var protoCode = ProtocolCode.LOGIN_REQ; if (protoCode < OpCode.CALL_ACTOR_METHOD) { var peer = Global.NetManager.GetPeerById(this.FromHostId, this.NetType); var context = new RpcContext(null, peer); Global.Host.CallMethodWithParams(protoCode, new object[] { username, password, callback, context }); } else { Global.Host.GetActor(this.toActorId).CallMethodWithParams(protoCode, new object[] { username, password, callback }); } return; } var msg = new LoginReq() { username = username, password = password }; var cb = new Action <byte[]>((cbData) => { var cbMsg = cbData == null?new LoginReq.Callback():RpcUtil.Deserialize <LoginReq.Callback>(cbData); callback?.Invoke(cbMsg.code, cbMsg.arg1, cbMsg.arg2, cbMsg.arg3, cbMsg.arg4); }); this.CallRemoteMethod(ProtocolCode.LOGIN_REQ, msg, cb); }
public async Task <ResultInfo <LoginInfo> > LoginAsync([FromBody] LoginReq req) { //获取客户端IP var ip = this.HttpContext.GetClientIp(); return(await this.bll.LoginAsync(req, ip)); }
protected void CALL_LoginReq(LoginReq req) { if (NET_LoginReq != null) { NET_LoginReq(req); } }
public async Task <ActionResult> Login([FromBody] LoginReq request) { if (!ModelState.IsValid) { return(BadRequest()); } if (!_userService.IsValidUserCredentials(request.UserName, request.Password)) { return(Unauthorized()); } var role = _userService.GetUserRole(request.UserName); var claims = new[] { new Claim(ClaimTypes.Name, request.UserName), new Claim(ClaimTypes.Email, request.UserName), new Claim(ClaimTypes.Role, role) }; var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity)); return(NoContent()); }
public static UserDetailResponseModel AuthenticateUser(LoginReq req) { UserDetailResponseModel resp = new UserDetailResponseModel(); try { var client = new HttpClient(); client.BaseAddress = baseUri; client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var content = new StringContent(JsonConvert.SerializeObject(req)); content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = client.PostAsync("api/Account/AuthenticateUser", content).Result; if (response.IsSuccessStatusCode) { var value = response.Content.ReadAsStringAsync(); resp = JsonConvert.DeserializeObject <UserDetailResponseModel>(value.Result); } return(resp); } catch (Exception ex) { throw ex; } }
public bool IsAuthenticate(LoginReq req, out string jwt) { var mgr = _context.Managers.FirstOrDefault(x => x.Username == req.Username); // username or password incorrect if (mgr == null || !BCrypt.Net.BCrypt.Verify(req.Password, mgr.Password)) { jwt = null; return(false); } else { var claims = new[] { new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddHours(24)).ToUnixTimeSeconds()}"), new Claim(ClaimTypes.Name, req.Username) }; var secret = _token.Secret; var issuer = _token.Issuer; var audience = _token.Audience; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: issuer, audience: audience, claims: claims, expires: DateTime.UtcNow.AddHours(24), signingCredentials: creds ); jwt = new JwtSecurityTokenHandler().WriteToken(token); return(true); } }
//同步方法 public RpcResult <LoginRsp> Login(LoginReq req) { AmpMessage message = AmpMessage.CreateRequestMessage(20003, 2); message.FriendlyServiceName = "UserService.Login"; message.Data = req.ToByteArray(); var response = base.CallInvoker.BlockingCall(message); if (response == null) { throw new RpcException("error,response is null !"); } var result = new RpcResult <LoginRsp>(); if (response.Code != 0) { result.Code = response.Code; } if (response.Data == null) { result.Data = new LoginRsp(); } else { result.Data = LoginRsp.Parser.ParseFrom(response.Data); } return(result); }
public async Task <(bool, string)> IsAuthenticated(LoginReq req) { var user = await _Context.Managers.FirstOrDefaultAsync(x => x.UserName == req.Username); if (user == null || !BCrypt.Net.BCrypt.Verify(req.Password, user.HashPassword)) { return(false, string.Empty); } else { var claims = new[] { new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddHours(12)).ToUnixTimeSeconds()}"), new Claim(ClaimTypes.Name, req.Username) }; var skey = _Token.Secret; var domain = _Token.Issuer; var audience = _Token.Audience; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(skey)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: domain, audience: audience, claims: claims, expires: DateTime.Now.AddHours(12), signingCredentials: creds ); var jwttoken = new JwtSecurityTokenHandler().WriteToken(token); return(true, jwttoken); } }
public async Task <RpcResult <LoginRsp> > LoginAsync(LoginReq req, int timeOut = 3000) { AmpMessage message = AmpMessage.CreateRequestMessage(20003, 2); message.FriendlyServiceName = "UserService.Login"; message.Data = req.ToByteArray(); var response = await base.CallInvoker.AsyncCall(message, timeOut); if (response == null) { throw new RpcException("error,response is null !"); } var result = new RpcResult <LoginRsp>(); if (response.Code != 0) { result.Code = response.Code; } if (response.Data == null) { result.Data = new LoginRsp(); } else { result.Data = LoginRsp.Parser.ParseFrom(response.Data); } return(result); }
public async Task <CommonResult> MpLogin([FromBody] LoginReq req) { //已登录直接跳过 if (HttpContext.IsAuthenticated()) { return(new CommonResult()); } //微信获取session_key var session = await WeixinRemote.GetSessionKey(req.Code); if (session?.ErrCode != 0) { return(CommonResult.CreateError(1, "")); } //数据库中获取微信校验过的身份,没有则新增 var user = new User { OpenId = session.OpenId, UnionId = session.UnionId }; var userDao = new UserDao(); user = userDao.GetLoginUser(user); //写入cookie中 await SetCookie(user); return(new CommonResult()); }
private async Task LoginAsync() { LoginInternet loginObj = new LoginInternet(); LoginResult.Type resultType; ChallengeReq challengeReq = new ChallengeReq(Text_Account.Text); var result = await loginObj.ChallengeAsync(challengeReq); if (string.IsNullOrEmpty(result)) { resultType = LoginResult.Type.CodeError; } LoginReq loginReq = new LoginReq(challengeReq, Text_Password.Password, result); resultType = await loginObj.LoginAsync(loginReq); // loginResult LoginResultViewModel viewModel = LoginResultViewModel.GetInstance(); viewModel.LoginInfo = new LoginResult(resultType).ReusltInfo; //keepActTimer.Start(); // 自动保存账号 if (AppSettings.Default.autoSave) { AppSettings.Default.account = Text_Account.Text; AppSettings.Default.password = Text_Password.Password; AppSettings.Default.Save(); } }
public Task <TokenDto> SignIn(LoginReq req) { User user = null; try { //缓存增加当前用户相关信息 //_cacheProvider= CacheContainer.GetInstances<ICacheProvider>("Redis"); //_cacheProvider.Add("UserKeyId=22", "{ UserKeyId=22,TenantId=3}"); var encryptionService = new EncryptionService(); var pwde = encryptionService.EncryptText(req.Pwd); user = _queryUserRepository.GetSingle(a => a.CorporationKeyId == req.CorporationKeyId && !a.IsDelete && a.Pwd == pwde && a.No == req.UserName); } catch (Exception ex) { string ss = ex.Message; } if (user != null) { return(Task.FromResult(new TokenDto { CorporationKeyId = user.CorporationKeyId, Token = user.EmployeeKeyID.ToString() })); } else { return(Task.FromResult <TokenDto>(null)); } }
public async Task <IActionResult> Login(LoginReq req) { var log = new OperatingLog(); log.Create(""); log.Summary = req.UserName + "尝试登录"; var user = await _userBll.LoginAsync(req.UserName, req.Password); if (user == null) { await _logBll.AddAsync(log); return(new JsonResult(new { success = false, message = "用户不存在" })); } else { log.Create(user.PrimaryKey); log.Model = Json.Serialize(user); log.LinkId = user.PrimaryKey; await _logBll.AddAsync(log); } var claims = new[] { new Claim("name", user.UserName), new Claim("id", user.PrimaryKey), new Claim("role", "admin"), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config.Value.SecretKey)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(_config.Value.Issuer, _config.Value.Audience, claims, DateTime.Now, DateTime.Now.AddMinutes(_config.Value.Expired), creds); var result = new JwtSecurityTokenHandler().WriteToken(token); return(new JsonResult(new { success = true, token = result })); }
//调用委托 private async Task <AmpMessage> ProcessLoginAsync(AmpMessage req) { LoginReq request = null; if (req.Data == null) { request = new LoginReq(); } else { request = LoginReq.Parser.ParseFrom(req.Data); } req.FriendlyServiceName = "UserGateService.Login"; var result = await LoginAsync(request); var response = AmpMessage.CreateResponseMessage(req.ServiceId, req.MessageId); response.FriendlyServiceName = "UserGateService.Login"; response.Code = result.Code; if (result.Data != null) { response.Data = result.Data.ToByteArray(); } return(response); }
public async Task <string> Authenticate(LoginReq req) { var user = await _userManager.FindByNameAsync(req.UserName); if (user == null) { return(null); } var res = await _signInManager.PasswordSignInAsync(user, req.Password, req.RememberMe, true); if (!res.Succeeded) { return(null); } var roles = await _userManager.GetRolesAsync(user); var claims = new[] { new Claim(ClaimTypes.Email, user.Email), new Claim(ClaimTypes.GivenName, user.FirstName), new Claim(ClaimTypes.Role, string.Join(";", roles)) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Tokens:Key"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(_config["Tokens:Issuer"], _config["Tokens:Issuer"], claims, expires: DateTime.Now.AddHours(3), signingCredentials: creds); return(new JwtSecurityTokenHandler().WriteToken(token)); /*ApiSuccessResult<string>(new JwtSecurityTokenHandler().WriteToken(token));*/ }
void OnMyConnected(Connection connection, System.Net.Sockets.SocketError result) { if (result == System.Net.Sockets.SocketError.Success) { LoginReq request = new LoginReq(); request.account = account; request.pass = pass; request.randomSeed = guid; request.deviceInfo = deviceInfo; //if (MessageStatistic.isOpen) loginReq.seq = MessageStatistic.curTimeMS(); if (clientCore.Transmitter.SendToAuth(connection, request, (int)EGMI.EGMI_LOGIN_REQ) == false) { if (clientCore != null && clientCore.onLogin != null) { clientCore.onLogin((int)EGEC.EGEC_CORE_NET_ERROR, 1, "", -1, null); } } } else { if (clientCore != null && clientCore.onLogin != null) { clientCore.onLogin((int)EGEC.EGEC_CORE_NET_ERROR, 1, "", -1, null); } } }
public static LoginResp Login(LoginReq req) { var ret = Class1.DoHttpRequest("/login", "POST", null, JsonConvert.SerializeObject(req)); var resp = JsonConvert.DeserializeObject <LoginResp>(ret); return(resp); }
// Create Json Web Token private string GenerateJSONWebToken(LoginReq userInfor, byte roleId) { // Get security key var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"])); // Create credentials with security above and algorithms var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256); // Create Claim user var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Sub, userInfor.username), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim("roles", roleId.ToString()) }; var token = new JwtSecurityToken( issuer: _config["Jwt:Issuer"], audience: _config["Jwt:Issuer"], claims, expires: DateTime.Now.AddDays(30), signingCredentials: credentials); var encodetoken = new JwtSecurityTokenHandler().WriteToken(token); return(encodetoken); }
LoginAck OnLoginClient(LoginReq msg) { var response = new LoginAck(); eClient client = LoadClient(msg.email); if (client == null) { return response; } if (client.Password == msg.pass) { response.result = LoginAck.Result.SUCCESS; response.user_id = client.Id; if(onlineClients.ContainsKey(client.Id)) { onlineClients[client.Id].lastAction_ = DateTime.Now; } else { onlineClients.Add(client.Id, new eClientOnline(client)); } return response; } response.result = LoginAck.Result.FAIL_INVALID_PASS; return response; }
LoginAck OnLoginSaler(LoginReq msg) { var response = new LoginAck(); eSaler saler = LoadSaler(msg.email); if (saler == null) { return response; } if (saler.Password == msg.pass) { response.result = LoginAck.Result.SUCCESS; response.user_id = saler.Id; if (onlineSalers.ContainsKey(saler.Id)) { onlineSalers[saler.Id].lastAction_ = DateTime.Now; } else { onlineSalers.Add(saler.Id, new eSalerOnline(saler)); } return response; } response.result = LoginAck.Result.FAIL_INVALID_PASS; return response; }
public override void Execute(INotification notification) { int mainproto = int.Parse(notification.Name); CmdType type = (CmdType)Enum.Parse(typeof(CmdType), notification.Type); if (type == CmdType.Request) { Message message = notification.Body as Message; Notify notify = new Notify(); notify.Protocol = mainproto; switch (mainproto) { case Protocol.Login: LoginReq loginReq = ReferencePool.Require <LoginReq>(); loginReq.Account = message.args[0].ToString(); loginReq.Password = message.args[1].ToString(); notify.message = loginReq.ToByteArray(); NetworkManager.SendRequest(notify); break; case Protocol.Regist: RegisterReq registerReq = ReferencePool.Require <RegisterReq>(); registerReq.Account = message.args[0].ToString(); registerReq.Password = message.args[1].ToString(); notify.message = registerReq.ToByteArray(); NetworkManager.SendRequest(notify); break; } } }
public LoginRes ValidateLoginCredentials(LoginReq req) { var data = new LoginRes(); data = this._loginCommand.ValidateLoginCredentials(req); return(data); }
public User findByUserNameAndPassWord(LoginReq req) { var user = req.Username; var pass = req.Password; var lg = _rep.findByUserNameAndPassWord(user, pass); return(lg); }
public void OnClick() { LoginReq req = new LoginReq(); req.u_name = it.text; GameInfo.Instance.UserName = it.text; NetWorkManagement.Instance.SendProtobufCmd((int)Stype.game_server, (int)Cmd.eLoginReq, req); }
public void sendLogintReq(string name, int racist) { LoginReq request = new LoginReq(); request.name = name; request.racist = racist; VitNetworkScript.Instance.sendMessage(request, LOGINREQ); }
public async Task <ApiResult> Login(LoginReq login) { if (string.IsNullOrEmpty(login.UserName)) { return(Error("用户名不能为空")); } if (string.IsNullOrEmpty(login.Password)) { return(Error("密码不能为空")); } var password = Md5Helper.Encrypt(login.Password); var user = await _userService.FindFirstOrDefaultAsync(m => m.UserName == login.UserName && m.Password == password); if (user == null) { return(Error("用户名或密码错误")); } UserInfo loginUserRes = new UserInfo { UserId = user.Id, UserName = user.UserName, NickName = user.NickName, Avator = user.Avator, Mobile = user.Mobile, Email = user.Email, //Depts = new List<long>(), //Roles = new List<long>(), //GrantedModules = new List<TreeNode>() }; var depts = await GetUserDepts(user.Id); var roles = await GetUserRoles(user.Id, depts); var moduleList = await GetUserModules(roles); var treeNode = new GrantedModule(); TreeHelper.ListToTree(treeNode, moduleList); //loginUserRes.GrantedModules = treeNode.Children; #region 设置用户基本信息 RedisHelper.Set($"User${user.Id}", loginUserRes, 60 * 60 * 24); #endregion Dictionary <string, string> dic = new Dictionary <string, string> { { "UserId", user.Id.ToString() }, { "UserName", user.UserName } }; var token = TokenHelper.GenerateToken(dic, 60); var res = new { token, userInfo = loginUserRes, moduleList }; return(Success(res)); }
public void SendMsg_Login(string username, string password) { LoginReq req = new LoginReq() { username = username, password = Util.Md5Sum(password) }; Globals.Instance.SendMsg <LoginReq>(Consts_CommandId.C2S_Login, req); }
private void OnLogin() { LoginReq req = new LoginReq(); req.account = account; req.passwd = password; // LoginNetLogic.Login(req); NetLogic.RequestNet(eProtocalCommand.LOGIN_CMD, req); }