2015-08-19 9 views
5

napisałem prostą funkcję w angularjs wniosku o rejestrację nowych użytkowników:przetwarza na JavaScript - „Błąd 209 nieważna sesja żeton” podczas rejestracji nowego użytkownika

$scope.registerUser = function(username, password) { 
    var user = new Parse.User(); 
    user.set("username", username); 
    user.set("email", username); 
    user.set("password", password); 

    user.signUp(null, { 
     success: function(result) { 

     console.log(result); 
     $scope.registerUserSuccess = true; 
     $scope.registerUserError = false; 
     $scope.registerUserSuccessMessage = "You have successfully registered!"; 

     $scope.$apply(); 

     $timeout(function(){ 
      $state.go("user"); 
     }, 1000); 

     }, 
     error: function(user, error) { 
     $scope.registerUserError = true; 
     $scope.registerUserSuccess = false; 
     $scope.registerUserErrorMessage = "Error: [" + error.code + "] " + error.message; 
     $scope.$apply(); 
     } 
    }); 

Początkowo działało w porządku, ale kiedy usunęli wszystkich użytkowników bezpośrednio przez Parse.com, nie mogę już zarejestrować nowych użytkowników korzystających z tej funkcji. Za każdym razem, gdy otrzymuję błąd , nieprawidłowy token sesji. Oto zrzut ekranu z mojego Parse bazy danych:

enter image description here

Mam google komunikat o błędzie, a rozwiązaniem jest zawsze do wylogowania bieżącego użytkownika. Jeśli jednak nie istnieją użytkownicy, nie jest to działanie, które mogę podjąć.

Dlatego chciałbym nie tylko rozwiązać ten problem, ale także dowiedzieć się, jak mu zapobiec w przyszłości, aby moja aplikacja mogła być bezpiecznie używana.

Edytuj: Stworzyłem użytkownika bezpośrednio w Parse.com, napisałem funkcję, aby zalogować się do tego użytkownika, ale dostałem ten sam błąd. Całkowicie utknąłem, dopóki ten problem z sesją nie zostanie rozwiązany.

+0

Gdy wystąpi błąd, wymuś wylogowanie aplikacji. Coś w tym stylu: 'if (error.code == 209) logout();' –

Odpowiedz

15

usunąć wszystkie swoje żetony sesji, a cokolwiek innego Przetwarza związanych naprawdę z lokalnej pamięci masowej:

enter image description here

razie potrzeby wyłączyć tokeny sesji dziedzictwo i naśladowania migration tutorial od podstaw:

enter image description here

+0

Uświadomiłem sobie, że korzystasz z narzędzi Chrome Dev i klikając kartę Zasoby, aby uzyskać informacje o lokalnej pamięci. Czy wiesz, jak zrobić to samo w Firefoksie? Zrobiłem szybkie wyszukiwanie i najwyraźniej firebug nie ma równoważnej karty zasobów. – ericgrosse

+0

Jako osoba, która nie zna się na web devie, jestem sfrustrowany od 6 godzin. Dziękuję bardzo. –

+0

To było pomocne, wpadłem do tego samego dołu. ;) – Amit

Powiązane problemy