mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 16:23:44 +00:00
merge sso feature branch (#523)
* Update jslib (101c568->14b01f2) (#506) * Update jslib (14b01f2->1513b25) (#510) * [jslib] Update (1513b25->7c3a9d6) (#516) * update jslib (1513b25->7c3a9d6) * Updated call to constructor super * [SSO] Added SSO flows & functionality (#513) * update jslib * bump version * Added sso button (wip) * Added sso & change password // Added modules/routes // Added strings for localization * Added password strength comp // reverted login route * Updated sso component to send client id // added routing for sso // added crypto function to services module provider list * Added deep linking * First round of UI updates // Added sso browser launching // Added missing strings * Updated UI and added missing strings * Removed extra change password style * Let constructor for WindowMain handle default width/height * Prepared for jslib update * Update jslib (1513b25->7c3a9d6) * Update login super * Added params for launchSsoBrowser function * Update jslib (7c3a9d6->4203937) * Added missing strings, removed unnecessary class param * Upgrade TypeScript (#517) * Updated password score // Update styles * Removed password-strength component files * Cleaned up module class // Fixed UL/LI formatting issues * Use exisiting loading string // removed new string * Update jslib (4203937->9957125) * Updated class to perform new submit actions * Upgrade Angular (#520) * di resolution for CryptoFunctionServiceAbstraction * Update jslib (9957125->5d874d0) (#521) * Updated change password flow to match web * Updated callout style Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com> Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com> Co-authored-by: Vincent Salucci <26154748+vincentsalucci@users.noreply.github.com> Co-authored-by: Oscar Hinton <hinton.oscar@gmail.com>
This commit is contained in:
24
src/main.ts
24
src/main.ts
@@ -89,7 +89,8 @@ export class Main {
|
||||
storageDefaults[ConstantsService.vaultTimeoutActionKey] = 'lock';
|
||||
this.storageService = new ElectronStorageService(app.getPath('userData'), storageDefaults);
|
||||
|
||||
this.windowMain = new WindowMain(this.storageService, true);
|
||||
this.windowMain = new WindowMain(this.storageService, true, undefined, undefined,
|
||||
(arg) => this.processDeepLink(arg));
|
||||
this.messagingMain = new MessagingMain(this, this.storageService);
|
||||
this.updaterMain = new UpdaterMain(this.i18nService, this.windowMain, 'desktop', () => {
|
||||
this.menuMain.updateMenuItem.enabled = false;
|
||||
@@ -138,11 +139,32 @@ export class Main {
|
||||
if (this.biometricMain != null) {
|
||||
await this.biometricMain.init();
|
||||
}
|
||||
|
||||
if (!app.isDefaultProtocolClient('bitwarden')) {
|
||||
app.setAsDefaultProtocolClient('bitwarden');
|
||||
}
|
||||
|
||||
// Process protocol for macOS
|
||||
app.on('open-url', (event, url) => {
|
||||
event.preventDefault();
|
||||
this.processDeepLink([url]);
|
||||
});
|
||||
}, (e: any) => {
|
||||
// tslint:disable-next-line
|
||||
console.error(e);
|
||||
});
|
||||
}
|
||||
|
||||
private processDeepLink(argv: string[]): void {
|
||||
argv.filter((s) => s.indexOf('bitwarden://') === 0).forEach((s) => {
|
||||
const url = new URL(s);
|
||||
const code = url.searchParams.get('code');
|
||||
const receivedState = url.searchParams.get('state');
|
||||
if (code != null && receivedState != null) {
|
||||
this.messagingService.send('ssoCallback', { code: code, state: receivedState });
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const main = new Main();
|
||||
|
||||
Reference in New Issue
Block a user