示例#1
0
        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
            //);
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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);
        }
示例#5
0
        //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;
            }
        }
示例#6
0
        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);
        }