Exemple #1
0
        public void CheckAutoLogin(NodeAddedEvent e, SecuredClientSessionNode clientSession, SingleNode <ScreensRegistryComponent> screenRegistry, SingleNode <EntranceValidationRulesComponent> validationRules)
        {
            string str  = PlayerPrefs.GetString("TOLogin");
            string str2 = PlayerPrefs.GetString("TOToken");

            if (!clientSession.Entity.HasComponent <InviteComponent>() && (!string.IsNullOrEmpty(str2) && !string.IsNullOrEmpty(str)))
            {
                AutoLoginUserEvent eventInstance = new AutoLoginUserEvent {
                    Uid                 = str,
                    EncryptedToken      = PasswordSecurityUtils.RSAEncrypt(clientSession.sessionSecurityPublic.PublicKey, Convert.FromBase64String(str2)),
                    HardwareFingerprint = HardwareFingerprintUtils.HardwareFingerprint
                };
                base.ScheduleEvent(eventInstance, clientSession);
            }
            else if (this.IsSteamUserLogin())
            {
                base.ScheduleEvent <ShowFirstScreenEvent <EntranceScreenComponent> >(screenRegistry);
                base.ScheduleEvent <RequestSteamAuthenticationEvent>(clientSession);
            }
            else if (string.IsNullOrEmpty(SaveLoginSystem.GetSavedLogin()) && string.IsNullOrEmpty(clientSession.webId.WebIdUid))
            {
                base.ScheduleEvent <ShowFirstScreenEvent <RegistrationScreenComponent> >(screenRegistry);
            }
            else
            {
                base.ScheduleEvent <ShowFirstScreenEvent <EntranceScreenComponent> >(screenRegistry);
            }
        }
        public void QuickRegistrationNewUser(ButtonClickEvent e, SingleNode <QuickRegistrationButtonComponent> node, [JoinByScreen] SingleNode <RegistrationScreenComponent> screen, [JoinAll] SecuredClientSessionNode clientSession, [JoinAll] Optional <SingleNode <SteamMarkerComponent> > steam, [JoinAll] Optional <SubscribeCheckboxNode> subscribeCheckbox)
        {
            byte[] digest = PasswordSecurityUtils.GetDigest(Path.GetRandomFileName());
            RequestRegisterUserEvent eventInstance = new RequestRegisterUserEvent {
                Uid   = string.Empty,
                Email = string.Empty,
                HardwareFingerprint     = HardwareFingerprintUtils.HardwareFingerprint,
                EncryptedPasswordDigest = PasswordSecurityUtils.RSAEncryptAsString(clientSession.sessionSecurityPublic.PublicKey, digest),
                Steam             = steam.IsPresent(),
                Subscribed        = !subscribeCheckbox.IsPresent() || subscribeCheckbox.Get().checkbox.IsChecked,
                QuickRegistration = true
            };

            base.ScheduleEvent(eventInstance, clientSession);
            clientSession.Entity.AddComponent(new AutoLoginTokenAwaitingComponent(digest));
            screen.component.LockScreen(true);
        }
        public void RegisterNewUser(ButtonClickEvent e, SingleNode <FinishRegistrationButtonComponent> node, [JoinByScreen] SingleNode <RegistrationScreenComponent> screen, [JoinAll] SecuredClientSessionNode clientSession, [JoinByUser] Optional <SingleNode <UserIncompleteRegistrationComponent> > user, [JoinAll] Optional <SingleNode <SteamMarkerComponent> > steam, [JoinAll] Optional <SubscribeCheckboxNode> subscribeCheckbox)
        {
            RegistrationScreenComponent component = screen.component;

            byte[] digest = PasswordSecurityUtils.GetDigest(component.Password);
            RequestRegisterUserEvent eventInstance = new RequestRegisterUserEvent {
                Uid = component.Uid,
                HardwareFingerprint     = HardwareFingerprintUtils.HardwareFingerprint,
                EncryptedPasswordDigest = PasswordSecurityUtils.RSAEncryptAsString(clientSession.sessionSecurityPublic.PublicKey, digest),
                Email      = component.Email,
                Steam      = steam.IsPresent(),
                Subscribed = !subscribeCheckbox.IsPresent() || subscribeCheckbox.Get().checkbox.IsChecked
            };
            EventBuilder builder = base.NewEvent(eventInstance).Attach(clientSession);

            if (user.IsPresent())
            {
                builder.Attach(user.Get());
            }
            builder.Schedule();
            clientSession.Entity.AddComponent(new AutoLoginTokenAwaitingComponent(digest));
            screen.component.LockScreen(true);
        }
 public void SwitchToEntrance(ButtonClickEvent e, SingleNode <SwitchToEntranceButtonComponent> node, [JoinAll] SecuredClientSessionNode clientSession, [JoinByUser] Optional <SingleNode <UserIncompleteRegistrationComponent> > user)
 {
     if (!user.IsPresent())
     {
         base.ScheduleEvent <ShowScreenDownEvent <EntranceScreenComponent> >(node);
     }
     else
     {
         PlayerPrefs.DeleteKey("TOLogin");
         PlayerPrefs.DeleteKey("TOToken");
         PlayerPrefs.SetInt("RemeberMeFlag", 0);
         base.ScheduleEvent <SwitchToEntranceSceneEvent>(node);
     }
 }