Firebase Сбросить пароль - PullRequest
0 голосов
/ 03 мая 2018

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

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

Мы хотели бы иметь экран, на котором пользователь сможет сбросить свой пароль.

В FirebaseAuth.framework есть этот метод:

/** @fn confirmPasswordResetWithCode:newPassword:completion:
@brief Resets the password given a code sent to the user outside of the app and a new password
  for the user.

@param newPassword The new password.
@param completion Optionally; a block which is invoked when the request finishes. Invoked
    asynchronously on the main thread in the future.

@remarks Possible error codes:

    + `FIRAuthErrorCodeWeakPassword` - Indicates an attempt to set a password that is
        considered too weak.
    + `FIRAuthErrorCodeOperationNotAllowed` - Indicates the administrator disabled sign
        in with the specified identity provider.
    + `FIRAuthErrorCodeExpiredActionCode` - Indicates the OOB code is expired.
    + `FIRAuthErrorCodeInvalidActionCode` - Indicates the OOB code is invalid.

@remarks See `FIRAuthErrors` for a list of error codes that are common to all API methods.
**/
- (void)confirmPasswordResetWithCode:(NSString *)code
                     newPassword:(NSString *)newPassword
                      completion:(FIRConfirmPasswordResetCallback)completion;

И другой метод проверки этого кода:

/** @fn verifyPasswordResetCode:completion:
@brief Checks the validity of a verify password reset code.

@param code The password reset code to be verified.
@param completion Optionally; a block which is invoked when the request finishes. Invoked
    asynchronously on the main thread in the future.
*/
- (void)verifyPasswordResetCode:(NSString *)code
                 completion:(FIRVerifyPasswordResetCodeCallback)completion;

Но, похоже, нет способа генерировать этот код в Swift ни из консоли Firebase. Код представляется в шаблоне электронной почты %LINK%, но в нем не указано, можно ли предоставить только код.

Итак, мой вопрос: есть ли способ иметь экран сброса пароля в мобильном приложении, предпочтительно в приложении для iOS? И если да, то как мне отправить этот код пользователям?

1 Ответ

0 голосов
/ 03 мая 2018
Auth.auth().currentUser?.updatePassword(to: password) { (error) in
  // ...
}

для текущего пользователя.

...