mirror of
https://github.com/bitwarden/browser.git
synced 2024-12-22 16:29:09 +01:00
Merge pull request #1843 from bitwarden/totp-copy-page-load-2
Copy TOTP after autofill on page load by default
This commit is contained in:
commit
fdccc21699
2
jslib
2
jslib
@ -1 +1 @@
|
||||
Subproject commit 306aef73d459dfad8a7a06c32442c9ed2d56922e
|
||||
Subproject commit 8659d0975ddb7dc70c0246b4b9acf81e013cdde3
|
@ -898,12 +898,6 @@
|
||||
"enableAutoFillOnPageLoadDesc": {
|
||||
"message": "If a login form is detected, automatically perform an auto-fill when the web page loads."
|
||||
},
|
||||
"enableAutoTotpCopyOnAutoFill": {
|
||||
"message": "Automatic TOTP Copy after Page Load"
|
||||
},
|
||||
"enableAutoTotpCopyOnAutoFillDesc": {
|
||||
"message": "If Auto-fill On Page Load is enabled, the TOTP verification code is automatically copied to your clipboard after loading the web page. This is overridden by Disable Automatic TOTP Copy."
|
||||
},
|
||||
"experimentalFeature": {
|
||||
"message": "This is currently an experimental feature. Use at your own risk."
|
||||
},
|
||||
|
@ -161,17 +161,5 @@
|
||||
<b>{{'warning' | i18n}}</b>: {{'experimentalFeature' | i18n}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-content">
|
||||
<div class="box-content-row box-content-row-checkbox" appBoxRow>
|
||||
<label for="autoCopyTotp">{{'enableAutoTotpCopyOnAutoFill' | i18n}}</label>
|
||||
<input id="autoCopyTotp" type="checkbox" (change)="updateAutoTotpCopyOnAutoFill()"
|
||||
[(ngModel)]="enableAutoTotpCopyOnAutoFill" [disabled]="!enableAutoFillOnPageLoad">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
{{'enableAutoTotpCopyOnAutoFillDesc' | i18n}}
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</content>
|
||||
|
@ -7,7 +7,6 @@ import { UriMatchType } from 'jslib/enums/uriMatchType';
|
||||
|
||||
import { I18nService } from 'jslib/abstractions/i18n.service';
|
||||
import { MessagingService } from 'jslib/abstractions/messaging.service';
|
||||
import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';
|
||||
import { StateService } from 'jslib/abstractions/state.service';
|
||||
import { StorageService } from 'jslib/abstractions/storage.service';
|
||||
import { TotpService } from 'jslib/abstractions/totp.service';
|
||||
@ -22,7 +21,6 @@ export class OptionsComponent implements OnInit {
|
||||
disableFavicon = false;
|
||||
disableBadgeCounter = false;
|
||||
enableAutoFillOnPageLoad = false;
|
||||
enableAutoTotpCopyOnAutoFill = false;
|
||||
disableAutoTotpCopy = false;
|
||||
disableContextMenuItem = false;
|
||||
disableAddLoginNotification = false;
|
||||
@ -72,8 +70,6 @@ export class OptionsComponent implements OnInit {
|
||||
this.enableAutoFillOnPageLoad = await this.storageService.get<boolean>(
|
||||
ConstantsService.enableAutoFillOnPageLoadKey);
|
||||
|
||||
this.enableAutoTotpCopyOnAutoFill = await this.totpService.isAutoCopyOnAutoFillEnabled();
|
||||
|
||||
this.disableAddLoginNotification = await this.storageService.get<boolean>(
|
||||
ConstantsService.disableAddLoginNotificationKey);
|
||||
|
||||
@ -124,10 +120,6 @@ export class OptionsComponent implements OnInit {
|
||||
await this.storageService.save(ConstantsService.enableAutoFillOnPageLoadKey, this.enableAutoFillOnPageLoad);
|
||||
}
|
||||
|
||||
async updateAutoTotpCopyOnAutoFill() {
|
||||
await this.storageService.save(ConstantsService.enableAutoTotpCopyOnAutoFillKey, this.enableAutoTotpCopyOnAutoFill);
|
||||
}
|
||||
|
||||
async updateDisableFavicon() {
|
||||
await this.storageService.save(ConstantsService.disableFaviconKey, this.disableFavicon);
|
||||
await this.stateService.save(ConstantsService.disableFaviconKey, this.disableFavicon);
|
||||
|
@ -211,8 +211,8 @@ export default class AutofillService implements AutofillServiceInterface {
|
||||
url: tab.url,
|
||||
}, { frameId: pd.frameId });
|
||||
|
||||
if (options.cipher.type !== CipherType.Login || totpPromise || options.skipTotp ||
|
||||
!options.cipher.login.totp || (!canAccessPremium && !options.cipher.organizationUseTotp)) {
|
||||
if (options.cipher.type !== CipherType.Login || totpPromise || !options.cipher.login.totp ||
|
||||
(!canAccessPremium && !options.cipher.organizationUseTotp)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -259,13 +259,9 @@ export default class AutofillService implements AutofillServiceInterface {
|
||||
return;
|
||||
}
|
||||
|
||||
const copyTotpOnAutoFill = await this.totpService.isAutoCopyOnAutoFillEnabled();
|
||||
const shouldCopyTotp = fromCommand || copyTotpOnAutoFill;
|
||||
|
||||
const totpCode = await this.doAutoFill({
|
||||
cipher: cipher,
|
||||
pageDetails: pageDetails,
|
||||
skipTotp: !shouldCopyTotp,
|
||||
skipLastUsed: !fromCommand,
|
||||
skipUsernameOnlyFill: !fromCommand,
|
||||
onlyEmptyFields: !fromCommand,
|
||||
|
Loading…
Reference in New Issue
Block a user