2017-01-18 1 views
1

현재 오프라인 우선 모바일 응용 프로그램에서 작업 중입니다. PouchDB와 CouchDB 원격 서버를 사용하고 있습니다. (옵션이 선택되어 '나를 기억'경우) 사용자가 사용자 이름과 암호를 저장, https://github.com/nolanlawson/pouchdb-authenticationPouchDB에 로그인 데이터 기억

내가 달성하고자하는 것은 :

나는 로그인을 사용에서 사용자 기능을 작성했습니다. 따라서 휴대 기기를 다시 시작하고 앱을 열면 다시 로그인하지 않고 계정에 로그인 한 상태로 열립니다. (페이스 북/트위터 애플 리케이션과 같은 비트).

이 문제를 해결하는 데 도움을 줄 수있는 사람이 있습니까? 나는 모든 작은 도움/지식에 열려 있습니다!

답변

2

은 _id의 접두어가 _local/ 인 문서에 사용자 이름과 암호를 저장할 수 있습니다. 이러한 종류의 문서는 복제가 시작될 때 동기화되지 않습니다. 더 많은 정보 in the PouchDB docs.

또 다른 해결책은 cookie authentication을 통해받은 인증 토큰을 저장하는 것입니다. 영구 쿠키를 발행하도록 CouchDB를 구성 할 수 있으며 더 긴 기간 (see the documentation)으로 시간 초과를 설정할 수 있습니다. 암호는 일반 텍스트로 저장하지 않으므로 더 안전합니다.

+0

감사합니다. 그 일을하려고 할거야. – thomagron

1

여기에 어떻게 내가 해냈어 : 시작시

은 내가 이름을 미리 기입 (실제로는 완전히 생략) 그냥 암호를 물어 로그인 할 때 다음

tmp1 = $localstorage.get('mymarker', '???'); 
if (tmp1 != '???') { 
    $scope.userdata.username = tmp1 
    skipusername = true; 
} 

이전의 유효한 사용자 이름

에 대한 localstorage을 확인합니다.

나는과 같이 사용자 이름을 저장 유효한 자격 증명이있는 경우 :

$localstorage.set('mymarker', $scope.userdata.username); 

나는 또한 암호를 추가 (CryptoJS는 암호화를위한 위대한 작품을) 다시 암호를 입력하기 위해 하루에 한 번 규칙을 강제 할 것이다. 희망이 어떤 도움이됩니다.

관련 문제