2016-12-17 5 views
2

PouchDB 및 Cloudant를 사용하여 웹 응용 프로그램 (간단한 쇼핑 목록)을 만들고 있습니다.보안 서버 PouchDB

모든 새 사용자 (모든 사용자가 내 cloudant 계정의 DB를해야합니다) 자신의 "계정"을 생성 할 수있을 것이며, 모든 사용자가

그래서 등 자신의 쇼핑 목록, 데이터를 저장합니다, 문제는 모든 사용자가 상호 작용할 수있는 Cloudant 자격 증명을 숨기거나 보호하여 기본 데이터베이스에 액세스 할 수있는 방법이 있습니까? 이 데이터는은 .js 파일에 액세스 할 수 있습니다 인터넷을 통해 모두 내부에 배치되어 있기 때문에

var remoteDB = ('https://myDB.cloudant.com/myMainDB', { 
    auth: { 
     username: "myUsername", 
     password: "myPassword" 
}); 

:

는 구문은 pouchDB의 DB를 만듭니다. 또는 어쩌면 내가 틀렸어 PouchDB이 목적으로 설계되지 않았습니다. 감사합니다. :)

+0

소리가 난다 2) 일반 텍스트로. OAuth와 같은 것을 사용할 수 없습니까? – Mikkel

답변

1

한 가지 방법은 환경 변수에서 사용자 이름과 암호를 읽을 수있을 것입니다 : 공용의 .js 파일에서 사용자 이름과 암호 1)를 저장하고해서는 안처럼

var username = process.env.COUCH_USER; 
var pass = process.env.COUCH_PASS; 
+0

어떻게 할 수 있습니까? – emi89

+0

브라우저에서 완전히 실행하고 있습니까? 그렇다면 모델을 재고해야합니다. 각 사용자는 계정 수준 암호가 아닌 자신의 자격 증명에 대한 액세스 권한 만 가질 수 있습니다. 사용자 설정을위한 별도의 메커니즘이 필요합니다. Cloudant는이를 위해 사용할 수있는 API 키를 지원합니다 (https://docs.cloudant.com/authorization.html 참조). CouchDB'_users' 데이터베이스 (https://docs.cloudant.com/authorization)도 사용할 수 있습니다. html # enabled-the-_users-database-with-cloudant. 또는 Cloudant Envoy (https://github.com/cloudant-labs/envoy)와 같은 중간 계층을 사용하십시오. – xpqz