mirror of
https://github.com/bitwarden/browser
synced 2025-12-24 04:04:24 +00:00
* use deep linked url for org invite instead of separate state * remove organization invite state & fix tests * clear login redirect for SSO JIT users since they are accepted when setting MP * create accept org invite service and consolidate components in module * finish switch to accept org invite service * move logic to accept org service * the rest of the owl * clear org invite along with deep linked route * pr feedback * fix test and add error to catch null invite * pr feedback * clear stored invite if it doesn't match provided one
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import { Component, inject } from "@angular/core";
|
|
|
|
import { SetPasswordComponent as BaseSetPasswordComponent } from "@bitwarden/angular/auth/components/set-password.component";
|
|
import { EncString } from "@bitwarden/common/platform/models/domain/enc-string";
|
|
import { MasterKey, UserKey } from "@bitwarden/common/types/key";
|
|
|
|
import { RouterService } from "../core";
|
|
|
|
import { AcceptOrganizationInviteService } from "./organization-invite/accept-organization.service";
|
|
|
|
@Component({
|
|
selector: "app-set-password",
|
|
templateUrl: "set-password.component.html",
|
|
})
|
|
export class SetPasswordComponent extends BaseSetPasswordComponent {
|
|
routerService = inject(RouterService);
|
|
acceptOrganizationInviteService = inject(AcceptOrganizationInviteService);
|
|
|
|
protected override async onSetPasswordSuccess(
|
|
masterKey: MasterKey,
|
|
userKey: [UserKey, EncString],
|
|
keyPair: [string, EncString],
|
|
): Promise<void> {
|
|
await super.onSetPasswordSuccess(masterKey, userKey, keyPair);
|
|
// SSO JIT accepts org invites when setting their MP, meaning
|
|
// we can clear the deep linked url for accepting it.
|
|
await this.routerService.getAndClearLoginRedirectUrl();
|
|
await this.acceptOrganizationInviteService.clearOrganizationInvitation();
|
|
}
|
|
}
|