Cloudant auth: отсутствует база данных _users

я настраиваюсь с CouchDB на Cloudant, и яЯ в замешательстве, потому что Cloudant, похоже, выполняет аутентификацию иначе, чем обычная CouchDB. В частности, Cloudant, похоже, не хватает_users база данных.

Я читаю FAQ об Cloudant authВоти предоставил следующие инструкции:

Могу ли я использовать функции безопасности CouchDB (база данных _users, объекты безопасности, функции проверки) в Cloudant?

Да, ты можешь. Если вы хотите использовать базу данных _users, вы должны сначала отключить Cloudant 'собственная безопасность ролей, которыми вы хотите управлять через _users. Для этого вам нужно поместить документ JSON, как показано ниже, в конечную точку _security базы данных (например,https://USERNAME.cloudant.com/DATABASE/_security): {"

Cloudant»: {"никто": ["_reader ","_writer ","_admin»]}, "читатели»: {"имена»: [»демо»],»роли»: []}}

Эти инструкции работали нормально и позволили мне обновить объект _security базы данных.

Что не былоЯ понял, как настроить базу данных _users. Это нене существует автоматически, поэтому я попытался создать его с помощью обычного:

curl -X PUT $COUCH/_users

Это работало нормально, но когда я пытаюсь добавить нового пользователя в _users следующим образом:

curl -HContent-Type:application/json \
  -vXPUT $COUCH/_users/org.couchdb.user:me \
  --data-binary '{"_id": "org.couchdb.user:me","name": "me","roles": [],"type": "user","password": "pwd"}'

Похоже, что правильно создать документ:

{"ok":true,"id":"org.couchdb.user:me","rev":"3-86c3801fdb8c32331f5f2580e861a765"}

Но у нового пользователя в _users на Cloudant отсутствует хешированный пароль:

{
   "_id": "org.couchdb.user:me",
   "_rev": "3-86c3801fdb8c32331f5f2580e861a765",
   "name": "me",
   "roles": [
   ],
   "type": "user",
   "password": "pwd"
}

Поэтому, когда я пытаюсь пройти аутентификацию у этого пользователя, я получаю следующую ошибку:

{"error":"bad_request","reason":"missing password_sha property in user doc"}

В моей локальной установке CouchDB создание нового пользователя в _users автоматически создаст хешированный пароль:

{
   "_id": "org.couchdb.user:test",
   "_rev": "1-9c1c4360eba168468a37d7f623782d23",
   "password_scheme": "pbkdf2",
   "iterations": 10,
   "name": "test",
   "roles": [
   ],
   "type": "user",
   "derived_key": "4a122a20c1a8fdddb5307c29078e2c4269abffa5",
   "salt": "36c0c05cf2a3ee321eabd10c46a8aa2a"
}

Я пробовал копировать_design / _auth» документ из моей локальной установки CouchDB в Cloudant, но результаты те же - без хешированного пароля.

Кажется, в какой-то момент я сошел с рельсов, но яЯ не уверен, где это произошло. Как настроить Cloudant для использования того же типа аутентификации, что и для обычного CouchDB?

Ответы на вопрос(2)

Ваш ответ на вопрос