2014-09-12 10 views
6

Buduję aplikację Meteor + Cordova, w której chcę zalogować się, aby "trzymać na zawsze" na urządzeniu mobilnym.Konta meteorów Wznów token "Zapamiętajcie mnie"

widzę następujące samouczek czym mogę skonfigurować własną niestandardową "obsługi RESUME"

prawdopodobnie będę pisać moja własna (jankeska) implementacja powyższego func i próbuję go uruchomić, prawdopodobnie przechowując w localStorage na kliencie ... ale pomyślałem, że zapytam tutaj, czy ktoś wie o konkretnym rozwiązaniu tego zawiniętego jako pakiet, czy też czystym przykładem.

Idealnie:

  • meteor add xxxxx:rememberme
  • konfiguracji
    • rememberMe.config.days = 9999
    • rememberMe.config.storageClient = localStorage

N OTE: jest to związane z Meteor Accounts autologin pattern?

Zaleceń?

Odpowiedz

4

Jak o użyciu wbudowanych Accounts.config (opcje) http://docs.meteor.com/#accounts_config

Accounts.config({ 
    loginExpirationInDays: null 
}) 

Po zalogowaniu, to nigdy nie wygasa aż do wylogowania użytkownika dzięki Meteor.logout();

Należy jednak pamiętać, że od token jest przechowywany w localStorage, to był sprzątany czasami automatycznie przez iOS lub Android

+0

"Wykreślanie się automatycznie" jest tym, o czym dobrze pamiętam - w jakiś sposób? W każdym razie - jest to "właściwy" sposób, po prostu nie wiem, jak powstrzymać go przed pozbyciem się. – zeroasterisk

+2

Nie sądzę, że możliwe jest kontrolowanie czyszczenia localstorage przez system operacyjny. Z drugiej strony możesz skorzystać z systemu plików api http://plugins.cordova.io/#/package/org.apache.cordova.file. Przypuszczam, że możesz zapisać token w pliku jako kopię zapasową. Więc normalnie odczytasz token z localstorage, jeśli tokena nie ma z powodu czyszczenia, możesz go odczytać z pliku. – Green

+0

To brzmi jak świetne rozwiązanie ... Zajrzę do tego - dzięki! – zeroasterisk

3

Ten mbanting:cordova-accounts-resume pakiet pomoże rozwiązać ten zapisując loginToken w systemie plików, które mają być stosowane, jeżeli localStorage jest usuwany przed wznowieniem aplikacji.

+0

Dzięki za to.To jest odpowiedź, która będzie działać na wszystkich urządzeniach. – pors

Powiązane problemy