private async void LoginExecute(Object obj) { ErrorMessage = String.Empty; CAuthToken authToken = null; try { var authorizationProvider = new CAuthorizationProvider(); var result = await Task.Run(() => authorizationProvider.TryAuthorize(Login, Password, out authToken)); if (!result) { ErrorMessage = "Login or Password incorrect"; return; } } catch (Exception e) { ErrorMessage = "Authorization on Main service failed"; return; } try { Boolean loginResult = GameChoiceProvider.Instance.Service.LogIn(authToken.Login, authToken.Id, out CPlayer player); CAuthController.Instance.SetUser(player); } catch (Exception exception) { ErrorMessage = "Authorization on Game server failed"; return; } CNavigator.Instance.NavigateTo(EPageType.Main); }
public Boolean TryAuthorize(String login, String password, out CAuthToken token) { var authData = new CAuthorizationData(login, password); HttpResponseMessage response = SHelper.PostRaw("api/Authorization/Login", authData); if (response.IsSuccessStatusCode && response.StatusCode == HttpStatusCode.OK) { String result = response.Content.ReadAsStringAsync().Result; token = JsonConvert.DeserializeObject <CAuthToken>(result); return(true); } token = null; return(false); }
public Boolean TryAuthorize(String login, String password, out CAuthToken token) { token = null; String normalizedLogin = login.ToUpper(); String passwordHash = GetHash(password); using (var context = new CLoginServiceContext()) { CUser user = context.Users.SingleOrDefault(u => u.Login == normalizedLogin && u.Password == passwordHash); if (user != null) { token = new CAuthToken() { Id = user.Id, Login = user.Login }; return(true); } } return(false); }