2016-05-26 2 views
7

Я могу успешно отключить учетные записи пользователей для проекта с консоли (веб-страницу firebase), но как пользователь может использовать приложение, которое может потребовать от пользователя, по его коду. Кроме того, я не нашел помощи в новой документации по firebase.Как отключить учетные записи пользователей для проекта firebase из кода?

ответ

3

Ответ [email protected]:

Спасибо за сообщение. Прости, дождались, чтобы вернуться к тебе. В настоящее время нет явного API для отключения учетной записи пользователя. Существующее обходное решение будет состоять в том, чтобы внедрить флаг «отключить» для пользователей, который позволит вам отключить/включить учетную запись. Обратите внимание, что этот флаг будет храниться и храниться в вашей базе данных Firebase. Вы можете использовать это в сочетании с правилами безопасности, чтобы, как только учетная запись отключена, только метаданные от администраторов могут быть записаны в учетную запись пользователя.

+0

Возможно ли зарегистрировать нового пользователя и «отключить» эту регистрацию вначале, а затем, когда электронное письмо будет отправлено для подтверждения электронной почты пользователей после нажатия ссылки, пользователь «активен» –

+0

@FamicTech , Вы можете использовать флаг проверки электронной почты для этой цели. EmailVerified - это флаг, который вам нужно искать. – teenu

4

Это немного устарело, чтобы ответить на вопрос. Но только для тех, кто ищет тот же ответ, будет получена идея из моего ответа.

Использование Admin SDK

Firebase администратора (Node.js) - который не доступен для мобильных платформ - имеет способность сделать отключение/удаление пользователя с помощью Admin SDK. Чтобы отключить пользователя, установите для атрибут значение ИСТИНА.

ПРИМЕЧАНИЕ. Использование SDK администратора невозможно, если ваше приложение является браузером.

enter image description here

Использование базы данных правил Realtime

Другой вариант заключается в ограничении доступа пользователей (чтение/запись) в базу данных путем установки таблицы Users в базе данных в режиме реального времени. Можно добавить поле флага (активного) в этой таблице, например:

{ 
    "users" : { 
    "3sFGw6zlr8VylNuvmCWd9xG1CQ43" : { 
     "active" : true, 
     "address" : "#123, City", 
     "createdBy" : "2016-12-20", 
     "mobile" : "xxxxxxx" 
    }, 
    "posts" : { 
    } 
} 

В приведенном выше примере - «3sFGw6zlr8VylNuvmCWd9xG1CQ43» является UID генерируется firebase аутентификации. Это ключ для присоединения к этому пользователю пользователей таблица с профилем пользователя firebase. Активное поле может легко установить true или false с нормальной работой записи в базу данных.

И это поле флага будет использоваться, чтобы проверить, имеет ли эта учетная запись доступ к записям базы данных. Ниже для примера:

{ 
    "rules": { 
    ".read": "auth !== null && root.child('users/' + auth.uid).child('active').val()==true", 
    ".write": "auth !== null && root.child('users/' + auth.uid).child('active').val()==true", 
    } 
} 

Это правило будет проверять, если пользователь вошел в систему и имеет поле флага активный верно. В противном случае пользователь не сможет читать или записывать в базу данных. На странице входа в систему вы также можете проверить это поле флага для входа в систему пользователя и выйти из системы, если активным поле является ложным, чтобы пользователь не смог войти в систему.

EDIT: вы можете использовать функции облаков (Admin SDK). Попытайтесь иногда порекомендовать читать о функциях облака here.Firebase Cloud Functions - довольно полезный инструмент для базы данных Realtime.

Смежные вопросы