1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-20 10:13:31 +00:00

cleanup various sso tasks (#617)

This commit is contained in:
Kyle Spearrin
2020-08-20 16:39:05 -04:00
committed by GitHub
parent b2685d455b
commit 56e92b1695
9 changed files with 47 additions and 14 deletions

View File

@@ -46,7 +46,7 @@
</div>
<div class="d-flex">
<a routerLink="/sso" class="btn btn-outline-secondary btn-block mt-2">
<i class="fa fa-bank" aria-hidden="true"></i> Enterprise Single Sign-On
<i class="fa fa-bank" aria-hidden="true"></i> {{'enterpriseSingleSignOn' | i18n}}
</a>
</div>
</div>

View File

@@ -5,15 +5,14 @@
<div class="card d-block mt-4">
<div class="card-body" *ngIf="loggingIn">
<i class="fa fa-spinner fa-spin" title="{{'loading' | i18n}}" aria-hidden="true"></i>
Logging in, please wait...
{{'loading' | i18n}}
</div>
<div class="card-body" *ngIf="!loggingIn">
<p>Quickly log in using your organization's single sign-on portal. Please enter your organization's
identifier to begin.</p>
<p>{{'ssoLogInWithOrgIdentifier' | i18n}}</p>
<div class="form-group">
<label for="identifier">Organization Identifier</label>
<label for="identifier">{{'organizationIdentifier' | i18n}}</label>
<input id="identifier" class="form-control" type="text" name="Identifier"
[(ngModel)]="identifier" required>
[(ngModel)]="identifier" required appAutofocus>
</div>
<hr>
<div class="d-flex">

View File

@@ -15,6 +15,8 @@ import { StorageService } from 'jslib/abstractions/storage.service';
import { SsoComponent as BaseSsoComponent } from 'jslib/angular/components/sso.component';
const IdentifierStorageKey = 'ssoOrgIdentifier';
@Component({
selector: 'app-sso',
templateUrl: 'sso.component.html',
@@ -31,4 +33,26 @@ export class SsoComponent extends BaseSsoComponent {
this.redirectUri = window.location.origin + '/sso-connector.html';
this.clientId = 'web';
}
async ngOnInit() {
super.ngOnInit();
const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {
if (qParams.identifier != null) {
this.identifier = qParams.identifier;
} else {
const storedIdentifier = await this.storageService.get<string>(IdentifierStorageKey);
if (storedIdentifier != null) {
this.identifier = storedIdentifier;
}
}
if (queryParamsSub != null) {
queryParamsSub.unsubscribe();
}
});
}
async submit() {
await this.storageService.save(IdentifierStorageKey, this.identifier);
super.submit();
}
}