1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-17 08:43:33 +00:00

Implement User-based API Keys (#197)

* Added support for authenticating with an API key

* added api service methods for user api keys

* fixed a copy/pasted api endpoint url

* Let toIdentityToken() use a a prestored client_id in place of the application client_id if one exists

* Allowed for api key auth in the cli

* Removed some commented out code commited for apiKey auth

* Cleanup for ApiKey auth in the CLI

* Removed cli prefix from client_crendential auth types

* Removed ClientPrefix conditional from decoded token getters

* Update src/services/api.service.ts

Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>

* formatting

* changed command from login --apiKey to login --apikey

Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
This commit is contained in:
Addison Beck
2020-11-10 15:15:40 -05:00
committed by GitHub
parent 9aa3cbf73d
commit 79b856cb6e
7 changed files with 124 additions and 24 deletions

View File

@@ -8,7 +8,6 @@ import {
Router,
} from '@angular/router';
import { DeviceType } from '../../enums/deviceType';
import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';
import { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';
@@ -59,8 +58,7 @@ export class TwoFactorComponent implements OnInit, OnDestroy {
}
async ngOnInit() {
if ((!this.authService.authingWithSso() && !this.authService.authingWithPassword()) ||
this.authService.twoFactorProvidersData == null) {
if (!this.authing || this.authService.twoFactorProvidersData == null) {
this.router.navigate([this.loginRoute]);
return;
}
@@ -75,7 +73,7 @@ export class TwoFactorComponent implements OnInit, OnDestroy {
}
});
if (this.authService.authingWithSso()) {
if (this.needsLock) {
this.successRoute = 'lock';
}
@@ -246,4 +244,12 @@ export class TwoFactorComponent implements OnInit, OnDestroy {
this.u2f.cleanup();
}
}
get authing(): boolean {
return this.authService.authingWithPassword() || this.authService.authingWithSso() || this.authService.authingWithApiKey()
}
get needsLock(): boolean {
return this.authService.authingWithSso() || this.authService.authingWithApiKey();
}
}