mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-18 05:52:51 +00:00
feat(console): manage OIDC back-channel logout uri (#11446)
# Which Problems Are Solved The Management Console lacked the ability to configure the OIDC Back-Channel Logout URI for OIDC applications which was introduced in the API a while ago. # How the Problems Are Solved This PR adds the property to the OIDC application detail page. # Additional Changes None # Additional Context - closes #8469 - requires backport to v4.x
This commit is contained in:
@@ -158,6 +158,11 @@
|
||||
<cnsl-label>{{ 'APP.LOGINV2.BASEURL' | translate }}</cnsl-label>
|
||||
<input cnslInput formControlName="loginV2BaseURL" />
|
||||
</cnsl-form-field>
|
||||
|
||||
<cnsl-form-field class="app-formfield full-width">
|
||||
<cnsl-label>{{ 'APP.OIDC.BACKCHANNELLOOGOUTURI' | translate }}</cnsl-label>
|
||||
<input cnslInput formControlName="backChannelLogoutURI" />
|
||||
</cnsl-form-field>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -276,6 +276,11 @@
|
||||
|
||||
&.full-width {
|
||||
flex-basis: 100%;
|
||||
grid-column: 1 / -1;
|
||||
|
||||
input {
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -208,6 +208,7 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
||||
authMethodType: [{ value: '', disabled: true }],
|
||||
loginV2: [{ value: false, disabled: true }],
|
||||
loginV2BaseURL: [{ value: '', disabled: true }],
|
||||
backChannelLogoutURI: [{ value: '', disabled: true }],
|
||||
});
|
||||
|
||||
this.oidcTokenForm = this.fb.group({
|
||||
@@ -444,6 +445,9 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
||||
const inSecs = this.app.oidcConfig?.clockSkew.seconds + this.app.oidcConfig?.clockSkew.nanos / 100000;
|
||||
this.oidcTokenForm.controls['clockSkewSeconds'].setValue(inSecs);
|
||||
}
|
||||
if (this.app.oidcConfig?.backChannelLogoutUri) {
|
||||
this.oidcForm.controls['backChannelLogoutURI'].setValue(this.app.oidcConfig.backChannelLogoutUri);
|
||||
}
|
||||
if (this.app.oidcConfig?.loginVersion?.loginV1) {
|
||||
this.oidcForm.controls['loginV2'].setValue(false);
|
||||
} else if (this.app.oidcConfig?.loginVersion?.loginV2) {
|
||||
@@ -652,6 +656,7 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
||||
this.app.oidcConfig.grantTypesList = this.grantTypesList?.value;
|
||||
this.app.oidcConfig.appType = this.appType?.value;
|
||||
this.app.oidcConfig.authMethodType = this.authMethodType?.value;
|
||||
this.app.oidcConfig.backChannelLogoutUri = this.backChannelLogoutURI?.value;
|
||||
|
||||
// token
|
||||
this.app.oidcConfig.accessTokenType = this.accessTokenType?.value;
|
||||
@@ -675,6 +680,7 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
||||
req.setAuthMethodType(this.app.oidcConfig.authMethodType);
|
||||
req.setGrantTypesList(this.app.oidcConfig.grantTypesList);
|
||||
req.setAppType(this.app.oidcConfig.appType);
|
||||
req.setBackChannelLogoutUri(this.app.oidcConfig.backChannelLogoutUri);
|
||||
const login = new LoginVersion();
|
||||
if (this.oidcLoginV2?.value) {
|
||||
const loginV2 = new LoginV2();
|
||||
@@ -878,6 +884,10 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
||||
return this.oidcForm.get('authMethodType');
|
||||
}
|
||||
|
||||
public get backChannelLogoutURI(): AbstractControl | null {
|
||||
return this.oidcForm.get('backChannelLogoutURI');
|
||||
}
|
||||
|
||||
public get oidcLoginV2(): FormControl<boolean> | null {
|
||||
return this.oidcForm.get('loginV2') as FormControl<boolean>;
|
||||
}
|
||||
|
||||
@@ -2671,7 +2671,8 @@
|
||||
"DESCRIPTION": "تطبيقات الصفحة الواحدة (SPA) وبشكل عام جميع أطر عمل JS التي يتم تنفيذها في المتصفحات"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "عنوان URI لتسجيل الخروج من القناة الخلفية"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2678,7 +2678,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) и като цяло всички JS рамки, изпълнявани в браузъри"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2660,7 +2660,8 @@
|
||||
"DESCRIPTION": "Single Page Aplikace (SPA) a obecně všechny JS frameworky spouštěné v prohlížečích"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2651,7 +2651,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) und grundsätzlich alle im Browser aufgeführten JS-Frameworks"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2681,7 +2681,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) and in general all JS frameworks executed in browsers"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2648,7 +2648,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) y en general todos los frameworks de JS ejecutados en navegadores"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2652,7 +2652,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) et en général tous les frameworks JS exécutés dans les navigateurs"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2675,7 +2675,8 @@
|
||||
"DESCRIPTION": "Egylapos alkalmazások (SPA) és általában minden böngészőben futó JS keretrendszer"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2675,7 +2675,8 @@
|
||||
"DESCRIPTION": "Aplikasi Halaman Tunggal (SPA) dan secara umum semua kerangka JS dijalankan di browser"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2652,7 +2652,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) e in generale tutti i framework JS eseguiti nei browser"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2677,7 +2677,8 @@
|
||||
"DESCRIPTION": "シングルページアプリケーション(SPA)および一般に、ブラウザで実行されるすべてのJSフレームワーク"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "バックチャネルログアウトURI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2677,7 +2677,8 @@
|
||||
"DESCRIPTION": "단일 페이지 애플리케이션(SPA) 및 브라우저에서 실행되는 모든 JS 프레임워크"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "백채널 로그아웃 URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2648,7 +2648,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) и воопшто сите JS frameworks кои се извршуваат во прелистувачите"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2670,7 +2670,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) en over het algemeen alle JS-frameworks die in browsers worden uitgevoerd"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2651,7 +2651,8 @@
|
||||
"DESCRIPTION": "Aplikacje jednoszczelinowe (SPA) i ogólnie wszystkie frameworki JS wykonywane w przeglądarkach"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2647,7 +2647,8 @@
|
||||
"DESCRIPTION": "Aplicativos de página única (SPA) e, em geral, todos os frameworks JS executados em navegadores"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2673,7 +2673,8 @@
|
||||
"DESCRIPTION": "Aplicații cu o singură pagină (SPA) și în general toate cadrele JS executate în browsere"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2767,7 +2767,8 @@
|
||||
"DESCRIPTION": "Одностраничные приложения (SPA) и все JS-фреймворки, выполняемые в браузерах."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "URI выхода из системы через резервный канал"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2680,7 +2680,8 @@
|
||||
"DESCRIPTION": "Single Page Applications (SPA) och i allmänhet alla JS-ramverk som körs i webbläsare"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2680,7 +2680,8 @@
|
||||
"DESCRIPTION": "Tek Sayfa Uygulamaları (SPA) ve genel olarak tarayıcılarda çalıştırılan tüm JS framework'leri"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "Back-Channel Logout URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2683,7 +2683,8 @@
|
||||
"DESCRIPTION": "Односторінкові додатки (SPA) та загалом усі JS фреймворки, що виконуються в браузерах"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "URI виходу з зворотного каналу"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
@@ -2684,7 +2684,8 @@
|
||||
"DESCRIPTION": "单页应用程序 (SPA) 以及通常在浏览器中执行的所有 JS 框架"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"BACKCHANNELLOOGOUTURI": "反向通道注销URI"
|
||||
},
|
||||
"API": {
|
||||
"INFO": {
|
||||
|
||||
Reference in New Issue
Block a user