mirror of
https://github.com/bitwarden/web
synced 2025-12-16 00:03:25 +00:00
Refactor
This commit is contained in:
2
jslib
2
jslib
Submodule jslib updated: 9a8dd4ed34...54f407d0de
@@ -45,53 +45,35 @@ export class KeyConnectorService extends BaseKeyConnectorService {
|
|||||||
return super.getUserKeyFromKeyConnector(url);
|
return super.getUserKeyFromKeyConnector(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
const el = document.createElement("iframe");
|
const frame = this.createIframe();
|
||||||
el.id = "cme_iframe";
|
frame.frame.initGet(await this.apiService.getActiveBearerToken(), url);
|
||||||
document.body.appendChild(el);
|
|
||||||
|
|
||||||
const webVaultUrl = this.environmentService.getWebVaultUrl();
|
return frame.promise.then((key: string) => new KeyConnectorUserKeyResponse({ Key: key }));
|
||||||
|
|
||||||
const promise: Promise<KeyConnectorUserKeyResponse> = new Promise(async (resolve) => {
|
|
||||||
const iframe = new CMEIFrame(
|
|
||||||
window,
|
|
||||||
webVaultUrl,
|
|
||||||
(key: string) => {
|
|
||||||
resolve(new KeyConnectorUserKeyResponse({ Key: key }));
|
|
||||||
},
|
|
||||||
(error: string) => {
|
|
||||||
this.platformUtilsService.showToast("error", null, error);
|
|
||||||
},
|
|
||||||
(info: string) => {
|
|
||||||
this.logService.info(info);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
iframe.init(await this.apiService.getActiveBearerToken(), url);
|
|
||||||
});
|
|
||||||
|
|
||||||
promise.finally(() => el.remove());
|
|
||||||
|
|
||||||
return promise;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
postUserKeyToKeyConnector(url: string, request: KeyConnectorUserKeyRequest) {
|
async postUserKeyToKeyConnector(url: string, request: KeyConnectorUserKeyRequest) {
|
||||||
if (this.platformUtilsService.isSelfHost()) {
|
if (this.platformUtilsService.isSelfHost()) {
|
||||||
return super.postUserKeyToKeyConnector(url, request);
|
return super.postUserKeyToKeyConnector(url, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
const el = document.createElement("iframe");
|
const frame = this.createIframe();
|
||||||
el.id = "cme_iframe";
|
frame.frame.initPost(await this.apiService.getActiveBearerToken(), url, request.key);
|
||||||
document.body.appendChild(el);
|
|
||||||
|
return frame.promise.then(() => {});
|
||||||
|
}
|
||||||
|
|
||||||
|
private createIframe(): { frame: CMEIFrame; promise: Promise<string> } {
|
||||||
|
const el = this.createIframeElement();
|
||||||
|
|
||||||
const webVaultUrl = this.environmentService.getWebVaultUrl();
|
const webVaultUrl = this.environmentService.getWebVaultUrl();
|
||||||
|
|
||||||
const promise: Promise<void> = new Promise(async (resolve) => {
|
let iframe: CMEIFrame;
|
||||||
const iframe = new CMEIFrame(
|
|
||||||
|
const promise: Promise<string> = new Promise(async (resolve) => {
|
||||||
|
iframe = new CMEIFrame(
|
||||||
window,
|
window,
|
||||||
webVaultUrl,
|
webVaultUrl,
|
||||||
() => {
|
resolve,
|
||||||
resolve();
|
|
||||||
},
|
|
||||||
(error: string) => {
|
(error: string) => {
|
||||||
this.platformUtilsService.showToast("error", null, error);
|
this.platformUtilsService.showToast("error", null, error);
|
||||||
},
|
},
|
||||||
@@ -99,12 +81,21 @@ export class KeyConnectorService extends BaseKeyConnectorService {
|
|||||||
this.logService.info(info);
|
this.logService.info(info);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
iframe.initPost(await this.apiService.getActiveBearerToken(), url, request.key);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
promise.finally(() => el.remove());
|
promise.finally(() => el.remove());
|
||||||
|
|
||||||
return promise;
|
return {
|
||||||
|
frame: iframe,
|
||||||
|
promise: promise,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private createIframeElement() {
|
||||||
|
const el = document.createElement("iframe");
|
||||||
|
el.id = "cme_iframe";
|
||||||
|
document.body.appendChild(el);
|
||||||
|
|
||||||
|
return el;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user