public void Restart() { IsDone = false; IsLoginSucceess = false; IsOffInternet = false; result = null; }
private async Task <LoginResp> Login(string loginName, string password, string authCode, byte clientType, string clientId, bool regist = false) { var resp = new LoginResp(); var ip = Request.GetClientIP(); var website = Request.GetReferer(); var result = await _userService.Login(loginName, password, ip, website, clientType, clientId); if (result.NonzeroCode) { return(resp.Fail(result.Msg)); } // 生成本次登录的标识 string loginId = $"__{ip}_{DateTime.Now.ToString("yyMMddHHmmssfffffff")}"; // 生成 Token var token = new JwtTokenBuilder() .AddSecurityKey(JwtSecurityKey.Create(_jwtOptions.Secret)) .AddIssuer(_jwtOptions.Issuer) .AddAudience(_jwtOptions.Audience) .AddClaim(Constants.LOGINNAME, loginName) .AddClaim(Constants.LOGINID, loginId) .AddExpiry(_jwtOptions.Expiry) .Build(); // 写入缓存,以便 TokenSessionFilter使用 await _redisClient.GetDatabase().StringSetAsync(loginName, loginId, TimeSpan.FromMinutes(_jwtOptions.Expiry)); resp.AccessToken = token.Value; resp.TokenType = "Bearer"; return(resp); }
IEnumerator loginCoroutine(string username, string password) { WWWForm form = new WWWForm(); form.AddField("username", username); form.AddField("password", password); UnityWebRequest request = UnityWebRequest.Post("https://arx-noctis-backend.herokuapp.com/authenticate", form); yield return(request.Send()); LoginResp resp = JsonUtility.FromJson <LoginResp>(request.downloadHandler.text); loadingIndicator.SetActive(false); if (resp.resp) { PlayerPrefs.SetString("playerName", resp.characterName); PlayerPrefs.SetString("playerID", "#" + resp.playerID.ToString().PadLeft(6, '0')); PlayerPrefs.SetString("playerStats", resp.stats); PlayerPrefs.SetString("characterAppearance", resp.characterAppearance); submitButton.GetComponent <Button>().interactable = true; setUntaggeds(true); SceneManager.LoadScene("oaklore_center"); } else { errorDisplay.GetComponent <Text>().text = errors[resp.failCode]; submitButton.GetComponent <Button>().interactable = true; yield break; } }
public LoginResp Login(LoginRequestDto loginRequest) { using (var client = new SqlConnection(connString)) using (var com = new SqlCommand()) { com.CommandText = "select * from Salt where saltID=@id"; com.Parameters.AddWithValue("id", 1); client.Open(); com.Connection = client; var dr = com.ExecuteReader(); dr.Read(); var saltc = dr["salt"].ToString(); loginRequest.password = PasswordGenerator.Create(loginRequest.password, saltc); com.CommandText = "select * from student where Indexnumber=@index and password=@pass"; com.Parameters.AddWithValue("pass", loginRequest.password); com.Parameters.AddWithValue("index", loginRequest.login); dr.Close(); var dr2 = com.ExecuteReader(); if (!dr2.Read()) { return(null); } var response = new LoginResp(); response.login = dr2["IndexNumber"].ToString(); response.name = dr2["LastName"].ToString(); return(response); } }
/// <summary> /// 登录 /// </summary> /// <param name="client"></param> /// <param name="buffer"></param> private void ProLogin(CommuTcpClient client, byte[] buffer) { Login login = new Login(buffer); OnRaiseMsgRecvEvent(client, login.ToString()); LoginResp loginResp = new LoginResp(login.Header.Sequence_Id); //验证登陆 ResultMsg msg = LoginValidate(login.Body, out int nodeId, out decimal pDian, out decimal vDian); var chatRate = pXinDb.GetTchatRate(0, nodeId, 3);//查询自己的倍率 if (!msg.Success) { //验证失败 loginResp.Body.Status = 0; loginResp.Body.LoginDesc = msg.Message; } else { //登陆成功 loginResp.Body.Status = 1; loginResp.Body.LoginDesc = "登录成功"; loginResp.Body.VDianBalance = vDian; loginResp.Body.PDianBalance = pDian; loginResp.Body.Rate = chatRate.Id == 0 ? 1 : chatRate.Rate; client.Nodeid = nodeId; string[] identitys = CommuClient.Values.Where(c => c.Nodeid == nodeId && c.Identity != client.Identity).Select(c => c.Identity).ToArray(); foreach (var item in identitys) { CommuClient[item].Close("抛弃旧连接"); } } client.SendData(loginResp.ToBytes()); }
public override void Callback(byte[] data) { LoginResp response = null; try { response = Serializer.Deserialize <LoginResp>(new MemoryStream(data)); } catch (Exception) { Debug.LogError("LoginResp parse error"); ShowMessage(ErrorCode.EC_PARSE_DATA_ERROR); } if (response != null) { switch (response.code) { case "0": { DataHelper.GetInstance().SaveProfile(dbManager, response); SceneManager.LoadScene("home"); break; } default: { ShowMessage(response.code); break; } } } }
private void ProWt_LoginResp() { LoginResp loginResp = new LoginResp(_buffer); OnRaiseMsgRecvEvent(loginResp.Header.Command_Id, loginResp, "接收消息:" + loginResp.ToString()); TimerInit(); }
IEnumerator registerCoroutine(string username, string password, string characterName, string appearance) { WWWForm form = new WWWForm(); form.AddField("username", username); form.AddField("password", password); form.AddField("characterName", characterName); form.AddField("characterAppearance", appearance); UnityWebRequest request = UnityWebRequest.Post("https://arx-noctis-backend.herokuapp.com/register", form); yield return(request.Send()); LoginResp resp = JsonUtility.FromJson <LoginResp>(request.downloadHandler.text); loadingIndicator.SetActive(false); if (resp.resp) { errorDisplay.GetComponent <Text>().text = "Thanks for signing up! Please verify your email."; StartCoroutine(waitToLogin(3.0f)); } else { errorDisplay.GetComponent <Text>().text = errors[resp.failCode]; submitButton.GetComponent <Button>().interactable = true; } }
private bool LOBBY2CLIENT_LOGIN_SUCCESS_Handler(Observers.Interfaces.INotification note) { if (IsTutorialOpen) { LoginResp loginResp = note.Body as LoginResp; int lastTutorialChapterID = loginResp.guideNo > 0 ? loginResp.guideNo : TutorialChapterData.GetFirstTutorialChapterData().id; TutorialProxy.instance.Init(lastTutorialChapterID); _initialized = true; } return(true); }
public void SaveProfile(SimpleSQLManager dbManager, LoginResp response) { dbManager.BeginTransaction(); dbManager.Execute("DELETE FROM SessionRow WHERE Id = 1"); SessionRow row = new SessionRow(); row.Id = 1; row.Token = response.token; row.Mobile = response.mobile; row.Status = response.status; row.NickName = response.nickName; dbManager.Insert(row); dbManager.Commit(); }
// confirm to Login void cfmClick() { tip = canvas.transform.Find("tipPanel/Text").gameObject; tip_panel = canvas.transform.Find("tipPanel").gameObject; // check infomations // get user information string phone_num = GameObject.Find("Canvas/LoginDialog/phoneLog/Text").GetComponent <Text>().text; string pass_word = GameObject.Find("Canvas/LoginDialog/passwordLog").GetComponent <InputField>().text; // send to backend and get response // ........ LogInfo user = new LogInfo(); user.number = phone_num; user.password = pass_word; string json = JsonConvert.SerializeObject(user); string post_url = "http://39.106.107.66:3000/login"; string resp_json = postData(post_url, json); LoginResp resp = JsonConvert.DeserializeObject <LoginResp>(resp_json); if (resp.result_status == 0) { tip.GetComponent <Text>().text = "手机号或密码错误"; tip_panel.SetActive(true); Invoke("hideTips", 0.8f); } else { tip.GetComponent <Text>().text = "登陆成功"; tip_panel.SetActive(true); Invoke("hideTips", 0.8f); // if right // set user info cache PlayerPrefs.SetString("phone_number", phone_num); PlayerPrefs.SetInt("my_rank", resp.curr_rank); PlayerPrefs.SetInt("my_best", resp.best_score); PlayerPrefs.SetInt("is_log", 1); // close Dialog LoginDialogObj.SetActive(false); loginBtnObj.SetActive(false); Invoke("showLogoutBtn", 0.3f); Invoke("showTitle", 0.3f); } }
public static LoginResp Login(string key) { var json = doapi("login", new Dictionary <string, string>() { { "code", key } }); var rsp = Serialize.FromJson <LoginResp>(json); if (rsp == null) { rsp = new LoginResp(); } if (rsp.issucc) { uk = rsp.ukey; } return(rsp); }
public IHttpActionResult Register([FromBody] User user) { if (!UserExist(user)) { usercntxt.Users.Add(user); usercntxt.SaveChanges(); LoginResp resp = new LoginResp { UserInfo = user, Token = TokenGenerator.GenerateTokenJwt(user.Email) }; return(Ok(resp)); } else { return(Conflict()); } }
private void LoginByTokenCallback(byte[] data) { dataType = 0; LoginResp response = null; try { response = Serializer.Deserialize <LoginResp>(new MemoryStream(data)); } catch (Exception) { Debug.LogError("LoginResponse parse error"); ShowMessage(ErrorCode.EC_PARSE_DATA_ERROR); } if (response != null) { switch (response.code) { case "0": { DataHelper.GetInstance().SaveProfile(dbManager, response); if (response.status != 99 && "".Equals(response.nickName)) { SceneManager.LoadScene("nickname"); break; } dataType = 2; QueryDiamonAmount(); break; } default: { Debug.LogError("LoginByTokenCallback:" + response.code); ShowMessage(response.code); break; } } } }
void _client_MsgRecvHandler(object sender, EventMessage e) { TcpClient client = sender as TcpClient; Log.MessageInfo("接收-" + client._identity + ":" + e.Msg); rtbText(e.Msg); if (e.CommandType == PXin_COMMAND_TYPE.LoginResp) { string msg = string.Empty; LoginResp resp = e.Package as LoginResp; if (resp.Body.Status == 0) { msg = "登陆失败"; } else { msg = "登陆成功"; } rtbTextState(this.rtbState, msg); } }
public IHttpActionResult Login(LoginReq req) { if (req == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } if (CheckUser(req)) { LoginResp resp = new LoginResp { UserInfo = usercntxt.Users.Where(u => u.Email == req.Email).FirstOrDefault(), Token = TokenGenerator.GenerateTokenJwt(req.Email) }; return(Ok(resp)); } else { return(Unauthorized()); } }
static void Main(string[] args) { bean.serverUrl = "https://url:7443"; LoginResp resp = auth.Login("Account", "PassWord"); //var list = user.ListUsers(new ListUsersReq() {offset=0,limit=100,userType="0"}); //var hosts = host.ListHosts("/service/sites/4EEE09DA", new ListHostsReq() { limit = 100, offset = 0 , scope="default"}); //var vms = vm.ListVms("/service/sites/4EEE09DA", new ListVmsReq() { offset=0,limit=100}); var sites = comm.ListSites(); foreach (var item in sites.sites) { var hosts = host.ListHosts(item.uri, new ListHostsReq() { limit = 100, offset = 0, scope = "default" }); foreach (var host in hosts.hosts) { Console.WriteLine(host.uri); } var clustes = comm.ListClusters(item.uri, new ListClustersReqEx()); foreach (var cluster in clustes.clusters) { Console.WriteLine(cluster.uri); var tests = host.ListHosts(item.uri, new ListHostsReq() { limit = 100, offset = 0, scope = cluster.urn }); foreach (var host in tests.hosts) { Console.WriteLine(host.ip + "," + host.status + "," + host.cpuQuantity); } } } //foreach (var item in list.users) //{ // Console.WriteLine(item.userName + ",usertype:" + item.userType); //} Console.ReadLine(); }
/// <summary> /// The API Login service enables customers to log in to the API /// service and initiates a secure session for the user. /// Users can have multiple sessions 'alive' at any point in time. /// </summary> private static void Login() { const string serviceName = "Login"; Console.WriteLine("{0}$ API_SERVICE {1}", DateTime.Now, serviceName); var request = new LoginReq { username = _username, password = _password, productId = _productId }; if (_vendorSoftwareId == 0 && _productId > 0) { // Used for Lignite _vendorSoftwareId = 1342; } request.vendorSoftwareId = _vendorSoftwareId; LoginResp response = _bfGlobalService.login(request); ValidateAPIResponse(serviceName, Convert.ToString(response.header.errorCode), Convert.ToString(response.errorCode), response.header.sessionToken); _currency = response.currency; }
/// <summary> /// 根据token进行登录验证 /// </summary> public IEnumerator LoginPost(string token) { WWWForm form = new WWWForm(); form.AddField("token", token); WWW www = new WWW(Constant.BaseUrl + uri, form); yield return(www); if (www.error != null) { Debug.Log(www.error); IsOffInternet = true; yield return(null); } else { LoginJson loginJson = JsonTool.JsonToClass <LoginJson> (www.text); if (loginJson == null) { IsOffInternet = true; } else { Debug.Log(www.text); if (loginJson.status == Constant.Status_OK) { result = loginJson.resp; IsLoginSucceess = true; } } } IsDone = true; }
// ParseNetMessage accepts input of raw bytes from a NetMessage. Parses and returns a Net message. public static INet Parse(ushort msgType, byte[] content) { INet msg = null; MsgType mt = (MsgType)msgType; switch (mt) { case MsgType.Multipart: msg = new Multipart(); break; case MsgType.Heartbeat: msg = new Heartbeat(); break; case MsgType.Connected: msg = new Connected(); break; case MsgType.Disconnected: msg = new Disconnected(); break; case MsgType.CreateAcct: msg = new CreateAcct(); break; case MsgType.CreateAcctResp: msg = new CreateAcctResp(); break; case MsgType.Login: msg = new Login(); break; case MsgType.LoginResp: msg = new LoginResp(); break; case MsgType.Character: msg = new Character(); break; case MsgType.ListGames: msg = new ListGames(); break; case MsgType.ListGamesResp: msg = new ListGamesResp(); break; case MsgType.CreateGame: msg = new CreateGame(); break; case MsgType.CreateGameResp: msg = new CreateGameResp(); break; case MsgType.JoinGame: msg = new JoinGame(); break; case MsgType.GameConnected: msg = new GameConnected(); break; case MsgType.GameMasterFrame: msg = new GameMasterFrame(); break; case MsgType.Entity: msg = new Entity(); break; case MsgType.MovePlayer: msg = new MovePlayer(); break; case MsgType.UseAbility: msg = new UseAbility(); break; case MsgType.AbilityResult: msg = new AbilityResult(); break; case MsgType.EndGame: msg = new EndGame(); break; } MemoryStream ms = new MemoryStream(content); msg.Deserialize(new BinaryReader(ms)); return(msg); }
public async Task <IActionResult> Validate(UserModel model) { if (ModelState.IsValid) { var input_data = new { identifier = model.UserName, password = model.Password }; var json = JsonConvert.SerializeObject(input_data); var url = Configuration["ApiUrl"].ToString(); var userInfo = await _httpBase.Post(url, json); LoginResp obj = JsonConvert.DeserializeObject <LoginResp>(userInfo); if (!string.IsNullOrEmpty(obj.jwt)) { var claims = new List <Claim> { new Claim(ClaimTypes.Name, obj.user.username), new Claim(ClaimTypes.Role, obj.user.role.name), new Claim("user_name", obj.user.username), new Claim("user_email", obj.user.email), new Claim("user_provider", obj.user.provider.ToString()), new Claim("user_confirmed", obj.user.confirmed.ToString()), new Claim("user_blocked", obj.user.blocked.ToString()), new Claim("user_role", obj.user.role.name.ToString()), new Claim("j_token", obj.jwt) }; var claimsIdentityName = new ClaimsIdentity( claims, CookieAuthenticationDefaults.AuthenticationScheme); var claimsIdentityRole = new ClaimsIdentity( claims, CookieAuthenticationDefaults.AuthenticationScheme, obj.user.role.name, ClaimTypes.Role); List <ClaimsIdentity> claimsIdentities = new List <ClaimsIdentity>(); claimsIdentities.Add(claimsIdentityName); claimsIdentities.Add(claimsIdentityRole); var authProperties = new AuthenticationProperties { IsPersistent = true, IssuedUtc = DateTime.Now }; await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentityName), authProperties); return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Login", "Auth")); } } return(View()); }
private void OnRaiseMsgSendEvent(byte[] buffer) { if (MsgSendEventHandler != null) { string msg = string.Empty; MessageHeader header = new MessageHeader(buffer); switch (header.Command_Id) { case PXin_COMMAND_TYPE.Login: msg = new Login(buffer).ToString(); break; case PXin_COMMAND_TYPE.LoginResp: msg = new LoginResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.Logout: msg = new Wt_Logout(buffer).ToString(); break; case PXin_COMMAND_TYPE.LogoutResp: msg = new LogoutResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.Active: msg = new Active(buffer).ToString(); break; case PXin_COMMAND_TYPE.ActiveResp: msg = new ActiveResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFee: msg = new ChatFee(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeResp: msg = new ChatFeeResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeePush: msg = new ChatFeePush(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateSet: msg = new ChatFeeRateSet(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateSetResp: msg = new ChatFeeRateSetResp(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateQuery: msg = new ChatFeeRateQuery(buffer).ToString(); break; case PXin_COMMAND_TYPE.ChatFeeRateQueryResp: msg = new ChatFeeRateQueryResp(buffer).ToString(); break; default: break; } //发布"消息发送"事件 if (header.Command_Id != PXin_COMMAND_TYPE.Active && header.Command_Id != PXin_COMMAND_TYPE.ActiveResp) { MsgSendEventHandler?.Invoke(this, new MessageEventArgs(string.Empty, Identity, msg)); } } }
// Update is called once per frame void Update() { if (DialogLogin.Actived()) { return; } if (!m_net.IsRunning()) { // 主动结束了 return; } // Step m_net.CheckReconnect(); //if (m_net.CheckReconnect()) //{ //DebugConsole.Log("Door:Reconnect successful."); //CheckLogin(); //DialogBase.Hide(); //} if (m_rcCount > 3) { DialogWarning.Show("No Network!", "Your internet seems to be down.\nPlease check your network settings.", "Retry", "Exit", OnOK, OnCancel, OnOK); return; } ProtoPacket packet = new ProtoPacket(); if (m_net.RecvTryDequeue(ref packet)) { DebugConsole.Log("Door:Reception handle cmdId:" + packet.cmdId); switch (packet.cmdId) { case Constants.Dog_Login: { LoginResp loginResp = (LoginResp)packet.proto; Lobby.getInstance().UId = loginResp.UserId; DebugConsole.Log("UId:" + loginResp.UserId); m_login = true; // 登录成功,重定向 if (packet.callback != null) { // 重定向 packet.callback(); } } break; case Constants.Dog_Redirect: { RedirectResp rdResp = (RedirectResp)packet.proto; Lobby lobby = Lobby.getInstance(); lobby.Domain = rdResp.Domain; lobby.Port = rdResp.Port; lobby.Key = rdResp.Key; m_net.Close(); // 重定向到大厅 DebugConsole.Log("Door:Redirect to lobby:" + lobby.Domain + ":" + lobby.Port); StartCoroutine(LoadingScene()); } break; case Constants.Reconnect: { // 展示重连对话框,直到重连成功 if (packet.msgId == 1) { ProtoNet.WriteLog("Door:Reconnecting..."); // 3s后Display中重连 m_net.CheckReconnect(5); //DialogBase.Show("RECONNECT", "reconnecting"); GameObject.Find("RcText").GetComponent <Text>().text = "Reconnecting..."; m_net.Ip = "182.92.74.240"; m_rcCount++; } else if (packet.msgId == 2) { DebugConsole.Log("Door:Reconnect successful."); //DialogBase.Hide(); GameObject.Find("RcText").GetComponent <Text>().text = "Connect successfully."; // 启动默认登录 if (m_auto) { Login(Redirect); } } } break; case Constants.Error: { // 这里一定是登录错误? Status stat = (Status)packet.proto; string err = "Error:" + stat.Code.ToString() + "-" + stat.Desc; GameObject.Find("RcText").GetComponent <Text>().text = err; // 打开登录对话框 DialogLogin.Show(LoginAsGuest, LoginWithFsID, null); } break; default: { DebugConsole.Log("Door:Invalid cmdId:" + packet.cmdId); } break; } } //process = (int)(async.progress * 100); }
void ParseAndProcess(NetPacket np) { INet parsedMsg = Messages.Parse(np.message_type, np.Content()); // Read from message queue and process! // Send updates to each object. switch ((MsgType)np.message_type) { case MsgType.Multipart: Multipart mpmsg = (Multipart)parsedMsg; // 1. If this group doesn't exist, create it if (!this.multipart_cache.ContainsKey(mpmsg.GroupID)) { this.multipart_cache[mpmsg.GroupID] = new Multipart[mpmsg.NumParts]; } // 2. Insert message into group this.multipart_cache[mpmsg.GroupID][mpmsg.ID] = mpmsg; // 3. Check if all messages exist bool complete = true; int totalContent = 0; foreach (Multipart m in this.multipart_cache[mpmsg.GroupID]) { if (m == null) { complete = false; break; } totalContent += m.Content.Length; } // 4. if so, group up bytes and call 'messages.parse' on the content if (complete) { byte[] content = new byte[totalContent]; int co = 0; foreach (Multipart m in this.multipart_cache[mpmsg.GroupID]) { System.Buffer.BlockCopy(m.Content, 0, content, co, m.Content.Length); co += m.Content.Length; } NetPacket newpacket = NetPacket.fromBytes(content); if (newpacket == null) { Debug.LogError("Multipart message content parsing failed... we done goofed"); } this.ParseAndProcess(newpacket); } // 5. clean up! break; case MsgType.LoginResp: LoginResp lr = ((LoginResp)parsedMsg); characters.Add(lr.Character); accounts.Add(lr.AccountID); break; case MsgType.CreateAcctResp: CreateAcctResp car = ((CreateAcctResp)parsedMsg); accounts.Add(car.AccountID); characters.Add(car.Character); break; case MsgType.ListGamesResp: ListGamesResp resp = ((ListGamesResp)parsedMsg); for (int j = 0; j < resp.IDs.Length; j++) { GameInstance ni = new GameInstance(); ni.ID = resp.IDs[j]; ni.Name = resp.Names[j]; } break; case MsgType.GameConnected: GameConnected gc = ((GameConnected)parsedMsg); // TODO: handle connecting to a game! break; case MsgType.CreateGameResp: CreateGameResp cgr = ((CreateGameResp)parsedMsg); GameInstance gi = new GameInstance(); gi.Name = cgr.Name; gi.ID = cgr.Game.ID; gi.entities = cgr.Game.Entities; games.Add(gi); Debug.Log("Added game: " + gi.Name); break; case MsgType.GameMasterFrame: GameMasterFrame gmf = ((GameMasterFrame)parsedMsg); Debug.Log("masterframe for gameID:" + gmf.ID.ToString()); for (int i = 0; i < games.Count; i++) { if (games[i].ID == gmf.ID) { Debug.Log("Updating game entities"); games[i].entities = gmf.Entities; } } break; } }