mirror of
https://github.com/bitwarden/browser
synced 2025-12-12 22:33:35 +00:00
* Handle hcaptch required identity response * Refactor iframe component for captcha and webauthn * Send captcha token to server * Add captcha callback * Clear captcha state * Remove captcha storage * linter fixes * Rename iframe components to include IFrame * Remove callback in favor of extenting submit * Limit publickey credentials access * Use captcha bypass token to bypass captcha for twofactor auth flows * Linter fixes * Set iframe version in components
23 lines
1.0 KiB
TypeScript
23 lines
1.0 KiB
TypeScript
import { I18nService } from '../abstractions/i18n.service';
|
|
import { IFrameComponent } from './iframe_component';
|
|
|
|
export class CaptchaIFrame extends IFrameComponent {
|
|
constructor(win: Window, webVaultUrl: string,
|
|
private i18nService: I18nService, successCallback: (message: string) => any, errorCallback: (message: string) => any,
|
|
infoCallback: (message: string) => any) {
|
|
super(win, webVaultUrl, 'captcha-connector.html', 'hcaptcha_iframe', successCallback, errorCallback, (message: string) => {
|
|
const parsedMessage = JSON.parse(message);
|
|
if (typeof (parsedMessage) !== 'string') {
|
|
this.iframe.height = (parsedMessage.height).toString();
|
|
this.iframe.width = (parsedMessage.width).toString();
|
|
} else {
|
|
infoCallback(parsedMessage);
|
|
}
|
|
});
|
|
}
|
|
|
|
init(siteKey: string): void {
|
|
super.initComponent(this.createParams({ siteKey: siteKey, locale: this.i18nService.translationLocale }, 1));
|
|
}
|
|
}
|