В соответствии с документацией к firebase Firebase принимает все типы API REST для аутентификации.Протокол сервера Firebase с HTTP-запросом POST с использованием секретной базы Firebase
REST API - Firebase authentication Иными словами, все запросы PUT/POST/GET могут использоваться в HTTP-запросе на аутентификацию авторизации. Это пример кода:
curl \
https://SampleChat.firebaseIO-demo.com/users/jack/name.json?auth=CREDENTIAL
Firebase документации также говорится:
Аргумент может быть либо ваш Firebase Секретный или аутентификации маркер
запрос POST Я отправка сконфигурирована следующим образом:
var Credential = "{\"auth:\", \"zXRLa7lybhJ21ZYqpXuqkT6YAYyySAGJ10lXInKy\"}";
https://MyFirebaseName.firebaseio.com/.json?auth="+Credential
Итак, я хочу использовать запрос POST с моей Firebase Secret для аутентификации сервера. Мое правило Безопасность:
{
"rules": {
".read": true,
".write": "auth == 'zXRLa7lybhJ21ZYqpXuqkT6YAYyySAGJ10lXInKy'"
}
}
Я получаю сообщение об ошибке вернулся из firebase, который гласит:
Недопустимый аргумент: "https://MyFirebaseName.firebaseio.com/.json?auth= "zXRLa7lybhJ21ZYqpXuqkT6YAYyySAGJ10lXInKy"
Похоже, что POST
запрос на самом деле проникает в Firebase, и Firebase читает данные. Просто аргумент не настроен правильно. Я пробовал все, что мог придумать. Я не уверен, как должны быть настроены CREDENTIALS
, и я ничего не могу с этим поделать. Может быть, это должно быть что-то вроде:
{"auth": "The Secret Here"}
Я просто попробовал это, и он не примет его.
Я также попытался с помощью:
{
"rules": {
".read": true,
".write": "auth !== null"
}
}
В надежде, что независимо от того, что я послал в REST API не будет принято, но это не сработало.
Что я делаю неправильно? Я много раз пересматривал документацию, искал здесь, искал группу Google. Я не могу понять. Мне нужно знать формат и синтаксис того, как данные POST отправляются в ПОЛНОМОЧИЯ.
Вы действительно пытаетесь пройти аутентификацию против ' .fireabseio-demo.com'? Здесь вы получите результат, но на демонстрационных серверах нет правил аутентификации или безопасности. auth! == null должен работать для любого действительного токена. Как вы создали свою, или используете секрет этого пространства имен? –
Kato
Это не демо, нет. Я не использую токен, я хотел просто использовать «Firebase Secret». Я не против использования токена, но у меня создалось впечатление, что я могу использовать только секрет для аутентификации сервера, а не для идентификации отдельных пользователей. Что касается документации для аутентификации сервера REST API, все, что я мог найти, это то, что один пример строки «завиток» и т. Д., Который я показал в верхней части сообщения. Все, что он дает, это '? Auth = CREDENTIAL'. Вот и все. Что я ставлю вместо «ПОЛНОМОЧИЯ»? –
Вы можете посмотреть в Forge в ключах безопасности, нажать на шоу и поместить это значение в том месте, где вы видите CREDENTIAL. – Kato