2016-10-25 2 views
0

В настоящее время я пытаюсь создать функцию, которая автоматически определяет, была ли отключена учетная запись.Firebase проверяет, отключена ли учетная запись.

Под этим я подразумеваю, что я хочу, чтобы пользователь автоматически выходил из системы и не имел права ничего делать.

Я знаю, что сведения о разрешениях выполняются в условиях безопасности firebase &. Тем не менее, я понятия не имею, как запретить работу с отключенных учетных записей. Я знаком с auth.uid и переменными.

Как мне продолжить, если я хочу это сделать?

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

Или это путь?

ответ

1

Одним из способов является использование аутентификации. Вы должны повторно проверить подлинность firebase пользователя:

user?.reauthenticateWithCredential(credential) { error in 
    if let error = error { 
    // An error happened. 
    } else { 
    // User re-authenticated. 
    } 
} 

Вы получаете FIRAuthErrorCodeUserDisabled ошибку, если учетная запись отключена. Запустите это в цикле через некоторый интервал времени.

+0

Я вижу, спасибо за вход. Тем не менее, я очень смущен тем, как я это сделаю, потому что, чтобы получить учетные данные, мне нужно подписаться/войти в систему (насколько мне известно). Итак, как я могу это сделать, не спрашивая каждый раз по электронной почте и паролю? – askaale

+0

вам необходимо сохранить эти учетные данные (при первом входе пользователя в систему) в userdefaults или в постоянном хранилище. – Dari

0

Я перезарядил текущего пользователя, если он отключен, вы получите ошибку:

if let userInfo = Auth.auth().currentUser { 
      userInfo.reload(completion: { (error) in 
       guard error == nil else { 
        debugPrint(error.debugDescription) 
        return 
       } 
      }) 
}