#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 и вместо этого повторно использовать его.