mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-23 18:55:18 +01:00
Add a way to login to OIDC by clicking login button
add a way to login to OIDC by clicking login button through response status 403 Signed-off-by: Yogi_Wang <yawang@vmware.com>
This commit is contained in:
parent
20deb45a18
commit
c8b6b41854
@ -82,18 +82,18 @@ export class SignInComponent implements AfterViewChecked, OnInit {
|
|||||||
if (customSkinObj.loginBgImg) {
|
if (customSkinObj.loginBgImg) {
|
||||||
this.customLoginBgImg = customSkinObj.loginBgImg;
|
this.customLoginBgImg = customSkinObj.loginBgImg;
|
||||||
}
|
}
|
||||||
if (customSkinObj.appTitle) {
|
if (customSkinObj.appTitle) {
|
||||||
this.customAppTitle = customSkinObj.appTitle;
|
this.customAppTitle = customSkinObj.appTitle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure the updated configuration can be loaded
|
// Make sure the updated configuration can be loaded
|
||||||
this.appConfigService.load()
|
this.appConfigService.load()
|
||||||
.subscribe(updatedConfig => this.appConfig = updatedConfig
|
.subscribe(updatedConfig => this.appConfig = updatedConfig
|
||||||
, error => {
|
, error => {
|
||||||
// Catch the error
|
// Catch the error
|
||||||
console.error("Failed to load bootstrap options with error: ", error);
|
console.error("Failed to load bootstrap options with error: ", error);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.route.queryParams
|
this.route.queryParams
|
||||||
.subscribe(params => {
|
.subscribe(params => {
|
||||||
@ -146,7 +146,7 @@ export class SignInComponent implements AfterViewChecked, OnInit {
|
|||||||
}
|
}
|
||||||
public get showForgetPwd(): boolean {
|
public get showForgetPwd(): boolean {
|
||||||
return this.appConfig.auth_mode !== 'ldap_auth' && this.appConfig.auth_mode !== 'uaa_auth'
|
return this.appConfig.auth_mode !== 'ldap_auth' && this.appConfig.auth_mode !== 'uaa_auth'
|
||||||
&& this.appConfig.auth_mode !== 'oidc_auth';
|
&& this.appConfig.auth_mode !== 'oidc_auth';
|
||||||
}
|
}
|
||||||
clickRememberMe($event: any): void {
|
clickRememberMe($event: any): void {
|
||||||
if ($event && $event.target) {
|
if ($event && $event.target) {
|
||||||
@ -259,6 +259,16 @@ export class SignInComponent implements AfterViewChecked, OnInit {
|
|||||||
this.router.navigateByUrl(this.redirectUrl);
|
this.router.navigateByUrl(this.redirectUrl);
|
||||||
}
|
}
|
||||||
}, error => {
|
}, error => {
|
||||||
|
// 403 oidc login no body;
|
||||||
|
if (this.isOidcLoginMode && error && error.status === 403) {
|
||||||
|
try {
|
||||||
|
let redirect_location = '';
|
||||||
|
redirect_location = error._body && error._body.redirect_location ?
|
||||||
|
error._body.redirect_location : JSON.parse(error._body).redirect_location;
|
||||||
|
window.location.href = redirect_location;
|
||||||
|
return;
|
||||||
|
} catch (error) { }
|
||||||
|
}
|
||||||
this.handleError(error);
|
this.handleError(error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user