2016-11-05 5 views
0

자세한 정보는 여기에서 찾기가 어렵습니다. 그래서 내가 가진 상황은 사용자 이름과 암호를 가진 기존 서버입니다. 모바일 앱용 데이터를 관리하기 위해 추가 couchdb 서버를 추가하고 있지만 기존 서버를 통해 모든 인증을 처리하기를 원합니다. 그래서 사용자 이름과 암호가있는 HTTP 요청을 기존 서버에 보내면 액세스가 허용되는 경우 원하는대로 다시 보내도록 설정할 수 있습니다. 그 정보를 어떻게 couchdb 서버로 인증하는데 사용할 수 있습니까? 성공적인 인증을 위해 기존 서버에서 비밀을 수신하여 couchdb 서버에 수동으로 저장 한 것과 일치시킬 수 있다고 생각합니다. 그러나 그것은 매우 안전하지는 않습니다.두 번째 서버를 사용하는 Couchdb 인증

couchdb에서 인증 문서를 읽었지만 여전히 혼란 스럽습니다. 인증 시스템에 대한 제안 사항이 있습니까?

+0

하나의 솔루션은 CouchDB 서버에 대한 액세스 위에 프록시 또는 계층을 사용할 수 있습니다. 이것은 느리지 만 인증 처리는 중앙 집중화됩니다. –

+0

감사합니다. 나는 그것을 설정하기위한 전문 지식이 없지만 미래를위한 선택 사항이 될 수 있습니다. 나는 couchDb에서 프록시 인증을 이해하는 데 정말로 고심하고있다. 쿠키 인증 API와 같은 세션 액세스를 제공해야합니까? –

+0

기본적으로 나는 이것을 CouchDB와 똑같이 원한다. –

답변

0

JWT 인증이 귀하가 찾고있는 것이라고 생각합니다. https://github.com/dmunch/couch_jwt_auth (저장소는 포크 (fork)로, 기존 기능에 추가 기능을 구현하면 CouchDB 2.0과 호환됩니다.)

기본적으로 사용자 이름/암호를 인증 서버로 보냅니다. 차례로 토큰 (JWT)을 돌려줍니다. 이제이 토큰을 사용하여 CouchDB를 인증 할 수 있습니다. CouchDB는 공유 비밀 키 (HS256)를 사용하거나 인증 서버의 공용 키를 사용하여 토큰의 무결성을 검증합니다.

+0

https://firebase.google.com/docs/auth/web/custom-auth 감사합니다. 그러나 인증 서버에서 couchDB로 HMAC-SHA1을 통해 인코딩 된 공유 비밀 번호와 사용자 이름을 보내어 CouchDB 프록시 인증을 작동시킬 수있었습니다. 나는 couchdb 1.6.1에서 이것을 할 수 있었지만 2.0에서는 깨진 것처럼 보였다. –