Я пытаюсь добавить аутентификацию телефона Firebase в свое приложение.Я нахожусь в точке, где вам нужно создать объект reCAPTCHA.Я хочу знать, что reCAPTCHA решена или нет.
В шаблоне:
{{ recaptchaSolved | async | json }}
Это мой класс компонентов:
export class AddComponent implements OnInit, OnDestroy {
windowRef: any;
@ViewChild('recaptchaContainer') recaptchaContainer: ElementRef;
recaptchaSolved: Observable<boolean>;
constructor(
private win: WindowService
) {}
ngOnInit() {
this.windowRef = this.win.windowRef;
firebase.auth().useDeviceLanguage();
this.windowRef.recaptchaVerifier = new firebase.auth.RecaptchaVerifier(
this.recaptchaContainer.nativeElement, // for visible recaptcha
{
size: 'small',
callback: response => {
console.log(`reCAPTCHA solved`);
this.recaptchaSolved = of(true);
},
'expired-callback': () => {
console.log(`reCAPTCHA expired`);
this.recaptchaSolved = of(false);
}
}
);
}
ngOnDestroy() {}
}
WindowService:
@Injectable()
export class WindowService {
get windowRef() {
return window;
}
}
Проблема в том, что когда reCAPTCHA решена, я получаю "reCAPTCHA решено", зарегистрированный в консоли, но наблюдаемое не обновляется (это ноль).