2014-02-13 3 views
0

Не можете найти егоfirebase правило безопасности аутентификации имя пользователя отсутствует

https://www.firebase.com/docs/security/rule-expressions/auth.html или https://www.firebase.com/docs/security/simple-login-email-password.html

И странице безопасности я видел:

https://www.firebase.com/docs/security/security-rules.html

"rules": { 
    ".read": "auth.username == 'admin'", 
    ".write": "auth.username == 'admin'" 
    } 

И я хотел бы используйте в одном из моих правил безопасности имя пользователя:

"something" 
    "$name": { 
     ".write": "$name == auth.name" 
     } 

Является ли auth.username доступным по умолчанию? Если нет, то как я могу получить к нему доступ в безопасности firebase.

BTW: (У меня есть поле «имя» в моих пользователях «стол»)

+0

[Инженер в Firebase] Какой простой метод аутентификации входа вы используете здесь? Атрибут 'username 'доступен только для определенных методов проверки подлинности. –

+0

Здравствуйте, сэр, я использую простой пароль. Я сделал обходное решение с сохранением $ id вместо $ username, но мне все еще интересно ответить :) – EnchanterIO

ответ

1

Для метода проверки подлинности электронной почты/пароля в Firebase Simple Логина, только атрибуты, определенные на auth объекта в правилах безопасности являются перечисленные на https://www.firebase.com/docs/security/simple-login-email-password.html под заголовком After Authenticating.

Это включает в себя следующее:

  • поставщика - метод аутентификации, используемый в данном случае: password (строка).
  • электронная почта - адрес электронной почты пользователя (строка).
  • ID - Автоинкрементный идентификатор пользователя для вашей Firebase (string).
  • uid - уникальный идентификатор, объединяющий провайдера и идентификатор, предназначенный как уникальный ключ для пользовательских данных (строка).
+0

супер, спасибо! – EnchanterIO

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