private void StartRefreshSession(Action _CallBackNeedRefresh) { var _user = new UserAuthInfoObject { Email = UserName, Password = UserPassword, IdToken = IdToken, AccessToken = AccessToken, RefreshToken = RefreshToken, TokenIssued = TokenIssuedServer, TokenExpire = TokenExpiresServer, AuthType = AuthType.RefreshSession }; //MyApp.Server.SendServerRequest( // () => // { // //timeout action // }, // (string msg, object e) => // { // //success action // _CallBackNeedRefresh(); // }, // (string msg) => // { // //fail action // }, // _user, ServerAction.NullVal, false, null, null, null, true //); }
async void ContinueSignUp() { Debug.WriteLine($"am sign up clicked: username:{UserName}, password:{Password}"); var _user = new UserAuthInfoObject { Email = UserName, Password = Password, AuthType = AuthType.SignUp, }; IsBusy = true; var result = await serviceConnect.Connect(_user); IsBusy = false; switch (result) { case ServerReplyStatus.Fail: MainApp.MainPage.DisplayAlert("Error!", "Something bad has occured", "Ok"); break; case ServerReplyStatus.UserNameAlreadyUsed: MainApp.MainPage.DisplayAlert("Error!", "Username already exists!", "Ok"); break; case ServerReplyStatus.PasswordRequirementsFailed: MainApp.MainPage.DisplayAlert("Error!", "Password policy mismatch!", "Ok"); break; case ServerReplyStatus.Success: MainApp.MainPage.DisplayAlert("Success", "Sign up succeeded!. \nPlease check you email for activating your account before logging in", "Ok"); break; } }
async public void SignInClicked() { Debug.WriteLine($"check against username:{Username}, password:{Password}"); var _user = new UserAuthInfoObject { Email = Username, Password = Password, AuthType = AuthType.SignIn, }; var result = await serviceConnect.Connect(_user); }
async void SignUpClicked() { Debug.WriteLine($"am sign up clicked: username:{UserName}, password:{Password}"); var _user = new UserAuthInfoObject { Email = UserName, Password = Password, AuthType = AuthType.SignUp, }; var result = await serviceConnect.Connect(_user); }
//End Inotify from here async public void ContinueSignIn(string _username, string _password) { Debug.WriteLine($"check against username:{_username}, password:{_password}"); var _user = new UserAuthInfoObject { Email = _username, Password = _password, AuthType = AuthType.SignIn, }; ServerConnect serviceConnect = new ServerConnect(); IsBusy = true; var result = await serviceConnect.Connect(_user); IsBusy = false; switch (result) { case ServerReplyStatus.Success: MainApp.OnLogin(); break; case ServerReplyStatus.NotConfirmed: await MainApp.MainPage.DisplayAlert("Error!", "Email not confirmed, \nPlease check your email to confirm your account", "Ok"); break; case ServerReplyStatus.InvalidPassword: await MainApp.MainPage.DisplayAlert("Error!", "Invalid password!", "Ok"); break; case ServerReplyStatus.UserNotFound: await MainApp.MainPage.DisplayAlert("Error!", "Username not found!", "Ok"); break; default: await MainApp.MainPage.DisplayAlert("Error!", "Something went wrong", "Ok"); break; } }
async public Task <ServerReplyStatus> Connect(UserAuthInfoObject _connectInfo) { var responseCognito = new CognitoContext(); var funcReply = ServerReplyStatus.Unknown; string user; string pass; switch (_connectInfo.AuthType) { case AuthType.SignUp: user = _connectInfo.Email.Trim().ToLower(); pass = _connectInfo.Password.Trim(); responseCognito = await AuthApi.SignUp(user, pass); switch (responseCognito.Result) { case CognitoResult.SignupOk: Debug.WriteLine("Sign up ok"); //responseJson = "{\"error\":\"false\",\"message\":\"User_Created\"}"; funcReply = ServerReplyStatus.Success; break; case CognitoResult.PasswordRequirementsFailed: Debug.WriteLine("Password requirment failed"); //responseJson = "{\"error\":\"true\",\"message\":\"Pass_Req_Failed\"}"; funcReply = ServerReplyStatus.Success; break; case CognitoResult.UserNameAlreadyUsed: Debug.WriteLine("Email exists"); //responseJson = "{\"error\":\"true\",\"message\":\"Email_Exist\"}"; funcReply = ServerReplyStatus.Success; break; default: Debug.WriteLine($"strange error: {responseCognito.Error}"); //responseJson = "{\"error\":\"true\",\"message\":\"" + responseCognito.Error + "\"}"; funcReply = ServerReplyStatus.Fail; break; } break; case AuthType.SignIn: user = _connectInfo.Email.Trim().ToLower(); pass = _connectInfo.Password.Trim(); responseCognito = await AuthApi.SignIn(user, pass); Debug.WriteLine($" Reply from aws Auth: {responseCognito.Result} "); switch (responseCognito.Result) { case CognitoResult.Ok: //responseJson = "{\"error\":\"false\",\"message\":\"--\"}"; Debug.WriteLine($"From:{this.GetType().Name},Login success"); funcReply = ServerReplyStatus.Success; //MyApp.Session.PopulateSession(responseCognito as SignInContext); break; case CognitoResult.NotConfirmed: Debug.WriteLine($"From:{this.GetType().Name},Email not confirmed"); //responseJson = "{\"error\":\"true\",\"message\":\"Email_Not_Activated\"}"; funcReply = ServerReplyStatus.Fail; break; case CognitoResult.InvalidPassword: Debug.WriteLine($"From:{this.GetType().Name},Invalid Password"); //responseJson = "{\"error\":\"true\",\"message\":\"Password_Mismatch\"}"; funcReply = ServerReplyStatus.Fail; break; case CognitoResult.UserNotFound: Debug.WriteLine($"From:{this.GetType().Name},Email not found"); //responseJson = "{\"error\":\"true\",\"message\":\"Email_Not_Exist\"}"; funcReply = ServerReplyStatus.Fail; break; default: Debug.WriteLine($"strange error: {responseCognito.Error}"); //responseJson = "{\"error\":\"true\",\"message\":\"" + responseCognito.Error + "\"}"; funcReply = ServerReplyStatus.Fail; break; } break; } return(funcReply); }