es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Firebase ‘auth/invalid-action-code’ en auth.confirmPasswordReset()

Estoy intentando restablecer la contraseña usando auth.confirmPasswordReset(). Mi código oob es válido, pero todavía obtengo el error auth/invalid-action-code. (Estoy utilizando React Js)

Aquí está mi código:

componentDidMount = () => {
    const urlParams = new URLSearchParams(window.location.search)
    const oobCode = urlParams.get('oobCode')
    if (oobCode) {
        auth.verifyPasswordResetCode(oobCode).then(email => {
            console.log('Código oob válido')
            this.setState({ email, oobCode })
        }).catch(err => {
            this.setState({ expired: true })
        })
    }
}
onChangeNewPassword = (e) => {
    this.setState({ newPassword: e.target.value })
}
onSubmit = () => {
    auth.confirmPasswordReset(this.state.oobcode, this.state.newPassword).then(res => {
        this.setState({ errorText: "", passwordChanged: true })
    }).catch(err => {
        console.log('err', err)
        this.setState({ errorText: err.message })
    });
}
render(){
   return (
        <input 
          placeholder='Nueva Contraseña' 
          type='password' 
          value={this.state.newPassword} 
          onChange={this.onChangeNewPassword}
        />
        <button onClick={this.onSubmit}>Continuar</button>
   )
}

En la consola obtengo esto:

Código oob válido
err t {code: 'auth/invalid-action-code', message: 'El código de acción no es válido. Esto puede suceder si el… está malformado, caducado o ya ha sido utilizado.', a: null}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que podría haber un error tipográfico en su código. En el método onSubmit, está usando this.state.oobcode en lugar de this.state.oobCode (C mayúscula). El mensaje de error indica que el código de acción no es válido, lo que podría significar que está mal formado, caducado o ya ha sido utilizado. Verifique que el código de acción que está utilizando siga siendo válido y no se haya utilizado ya. Si el problema persiste, puede intentar generar un nuevo código de acción y usarlo en su lugar.

Comments are closed.