Мой сайт — это всего лишь одна страница с формой. У меня нет функции авторизации пользователя. Могу ли я по-прежнему использовать интеграцию Firebase на стороне клиента без безопасного прохождения кода на стороне сервера? Если да, как я могу защитить данные для моего соединения с firebase?
Могу ли я безопасно интегрироваться с firebase без аутентификации пользователя без кода на стороне сервера?
Ответы (2)
Вы можете использовать новую функцию анонимной аутентификации, предоставляемую Firebase Simple Login: https://www.firebase.com/docs/security/simple-login-anonymous.html
С помощью этого механизма вы можете сделать так, чтобы пользователи вашего веб-сайта анонимно аутентифицировались в Firebase (им не нужно вводить какие-либо учетные данные для входа), но вы все равно можете защитить чтение и запись в Firebase с помощью обычных правил безопасности.
person
Anant
schedule
10.10.2013
Эй, разве это не означает, что любой может легко читать/записывать/перечислять всю вашу базу данных из Интернета?
- person rubmz; 22.06.2017
@rubmz Нет, они получают доступ только к своим данным.
- person Leon; 24.10.2017
Да.
Просто добавьте эти теги на свою страницу:
<script type="text/javascript" src="https://cdn.firebase.com/v0/firebase.js"></script>
<script type="text/javascript" src="https://cdn.firebase.com/v0/firebase-simple-login.js"></script>
Затем напишите этот код:
var chatRef = new Firebase('https://YOUR-APP.firebaseIO.com');
var auth = new FirebaseSimpleLogin(chatRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log('User ID: ' + user.id + ', Provider: ' + user.provider);
} else {
// user is logged out
}
});
И когда ваш пользователь нажимает кнопку входа в систему, вызовите
// attempt to log the user in with your preferred authentication provider
auth.login('github (or twitter, or what you want)');
Как описано здесь и продемонстрировано здесь.
person
fiatjaf
schedule
26.11.2013