Сбой проверки Recaptcha — реакция на проверку телефона с помощью DUPE — firebase

#javascript #reactjs #firebase #firebase-authentication

# #javascript #reactjs #огневая база #firebase-аутентификация

Вопрос:

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

 Recaptcha verification failed - DUPE
 

Кроме того, в консоли моего окна я получаю сообщение об ошибке ‘Uncaught SyntaxError: неожиданный токен: строковый литерал’
Я должен отметить, что я использую невидимую Recaptcha, и я установил все в firebase для аутентификации по электронной почте и телефону

 

export default class PhoneNumberVerificationPage extends Component {
    constructor(props){
        super(props);
        this.state={
            phone: '',
            isLoading: false
            
        }
    }
    onChangeHandler = (phone) =>{
        this.setState({
            phone
        })
    }

    onVerifyPhoneNumber = async () =>{
        const {phone} = this.state;
        let phoneNumber = " "   phone;
        var appVerifier = new f.auth.RecaptchaVerifier('button', {
            'size': 'invisible'
        });

        return auth.currentUser.linkWithPhoneNumber(phoneNumber, appVerifier)
            .then( (confirmationResult) => {
              
                var code = window.prompt('Provide put in the your SMS code');
                return confirmationResult.confirm(code);
            })
            .then(async () =>{
                
                await firestore.doc(`/user/${auth.currentUser.uid}`).update({
                    nextRoute: `/user-info/${auth.currentUser.uid}/add`
                })
                this.props.history.push(`/user-info/${auth.currentUser.uid}/add`)

            })
       
    }
    render() {
        const {isLoading} = this.state
        return (
            <div className='phone-number-verification-page'>
                {isLoading amp;amp; <Loading/>}
                <Modal title='Verify Phone Number' hideCloseButton>
                    <PhoneInput
                        country={'us'}
                        value={this.state.phone}
                        onChange={this.onChangeHandler}
                    />
                    <button 
                        onClick={this.onVerifyPhoneNumber} 
                        id='button'
                        className='button--submit u-margin-medium'>Submit</button>
                </Modal>
            </div>
        )
    }
}

 

Ответ №1:

ошибка в сообщении об ошибке — это сокращение от DUPLICATE . Я подозреваю, что вам не следует каждый раз создавать новый объект RecaptchaVerifier и вместо этого повторно использовать его.