Как пройти аутентификацию с использованием php и javascript

Я занимаюсь этим уже несколько недель и мне нужно какое-то направление. Я не использую MongoDB или Phoenix и т. Д. Я использую php (Laravel), и ядром моих данных является JSON. Я хочу сохранить данные прямо из JavaScript. Таким образом, пользовательские данные сохраняются локально в pouchdb, по одной базе данных на решение пользователя, и синхронизируются с удаленной pouchdb на couchdb Bitnami AWS (Amazon Web Server). Однако мне нужна аутентификация для ссылки на этот удаленный pouchdb. Есть проверка подлинности прокси. Я использую Curl в Windows, чтобы убедиться, что он работает, поэтому я должен правильно его настроить:

curl -X GET "http://127.0.0.1:5984/userdb-7374657665" -H "X-Auth-CouchDB-UserName:steve" -H "X-Auth-CouchDB-Roles:users" -H "X-Auth-CouchDB-Token:a615eaf122de48804df2e554ec63cb6b3014eb4d" -H "Content-Type: application/json; charset=utf-8"

Я не нашел этого в документации API, и я понимаю, что это не может работать из-за того, как безопасность контролируется в javascript. Человек, который отправил это, упомянул «Рельсы или Феникс»:

    remoteDb = new PouchDB("http://localhost:5984/userdb-7374657665", {
skipSetup: true, //Database is created when user is created
ajax: {
headers: {
'X-Auth-CouchDB-UserName':'steve',
'X-Auth-CouchDB-Roles':'users',
'X-Auth-CouchDB-Token':'a615eaf122de48804df2e554ec63cb6b3014eb4d',
'Content-Type':'application/json; charset=utf-8'
}
}
})
.on('error', function (err) {
console.log('error', err);
});

Примечание. Я использовал php для получения имени базы данных, которая была создана при создании пользователя: $user_db = "userdb-" . bin2hex($user_name);
Я также понял токен с помощью php:

$hash = hash_hmac("sha1", $user_name, $secret);

-2

Решение

Мне непонятно, что вы имеете в виду под удаленным PouchDB — вам не нужен удаленный PouchDB, если у вас есть CouchDB. Для аутентификации вам не нужен плагин PouchDB, вам просто нужно указать имя пользователя и пароль, когда вы определяете удаленную базу данных в Javascript следующим образом:

var remotedb = new PouchDB('https://username:password@server/dbname');

Это описано в документации PouchDB API для «создания базы данных». Вот.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector