Skip to content

Commit a77f77a

Browse files
committed
feat(admin-ui): jans lock configuration screen #1758
Signed-off-by: Jeet Viramgama <[email protected]>
1 parent e88b2bd commit a77f77a

File tree

13 files changed

+659
-0
lines changed

13 files changed

+659
-0
lines changed

admin-ui/app/locales/en/translation.json

+12
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,16 @@
8585
"introspection_encrypted_response_alg": "Introspection Encrypted Response Alg",
8686
"http_request_body": "Request Body",
8787
"principal_attribute": "Principal Attribute",
88+
"token_channels": "Token Channels",
89+
"metric_channel": "Metric Channel",
90+
"pdp_type": "PDP Type",
91+
"opa_configuration": "OPA Configuration",
92+
"base_url": "Base URL",
93+
"access_token": "Access token",
94+
"policies_json_uris_authorization_token": "Policies JSON URIs Authorization Token",
95+
"policies_json_uris": "Policies JSON URIs",
96+
"policies_zip_uris_authorization_token": "Policies ZIP URIs Authorization Token",
97+
"policies_zip_uris": "Policies ZIP URIs",
8898
"principal_type": "Principal Type",
8999
"webhook_name": "Webhook Name",
90100
"sessionTimeoutInMins": "Admin UI Session Timeout (In Minutes)",
@@ -537,6 +547,7 @@
537547
"service_providers": "Website SSO",
538548
"identity_providers": "Identity Brokering",
539549
"add_source": "Add Source",
550+
"jans_lock": "Jans Lock",
540551
"edit_source": "Edit Source",
541552
"view_source": "View Source",
542553
"adminui": "Admin",
@@ -764,6 +775,7 @@
764775
"introspection_object": "Introspection Object",
765776
"acrs_logging": "ACRs && Logging",
766777
"algorithmic_keys": "Algorithmic Keys",
778+
"jans_lock": "Jans Lock",
767779
"config_api_configuration": "Config API Configuration",
768780
"idp": "IDP",
769781
"sp": "SP",

admin-ui/app/locales/fr/translation.json

+12
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"add_source": "Ajouter une source",
3535
"edit_source": "Modifier la source",
3636
"view_source": "Afficher la source",
37+
"jans_lock": "Verrou Jans",
3738
"saml": "SAML",
3839
"trust_relationships": "Relations de confiance",
3940
"api": {
@@ -144,6 +145,16 @@
144145
"ssl_key_store_file_path": "Chemin du fichier du magasin de clés SSL",
145146
"principal_attribute": "Attribut Principal",
146147
"principal_type": "Type Principal",
148+
"token_channels": "Canaux de jetons",
149+
"metric_channel": "Canal de métrique",
150+
"pdp_type": "Type de PDP",
151+
"opa_configuration": "Configuration OPA",
152+
"base_url": "URL de base",
153+
"access_token": "Jeton d'accès",
154+
"policies_json_uris_authorization_token": "Jeton d'autorisation des URI de politiques JSON",
155+
"policies_json_uris": "URI de politiques JSON",
156+
"policies_zip_uris_authorization_token": "Jeton d'autorisation des URI de politiques ZIP",
157+
"policies_zip_uris": "URI de politiques ZIP",
147158
"ssl_trust_store_password": "Mot de passe du magasin de confiance SSL",
148159
"jans_assertion_consumer_service_get_url": "URL GET du service consommateur d'assertions Jans",
149160
"jans_assertion_consumer_service_post_url": "URL POST du service consommateur d'assertions Jans",
@@ -689,6 +700,7 @@
689700
"introspection_object": "Objet d'inspection",
690701
"all_attributes": "Tous les attributs",
691702
"all_custom_scripts": "Tous les scripts personnalisés",
703+
"jans_lock": "Verrou Jans",
692704
"config_api_configuration": "Configuration de l'API de configuration",
693705
"jans_json_property": "Propriétés",
694706
"all_oidc_clients": "Tous les clients OIDC",

admin-ui/app/locales/pt/translation.json

+12
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
"saml": "SAML",
3434
"add_source": "Adicionar Fonte",
3535
"edit_source": "Editar Fonte",
36+
"jans_lock": "Trava Jans",
3637
"view_source": "Ver Fonte",
3738
"trust_relationships": "Relacionamentos de confiança",
3839
"service_providers": "SSO para sites",
@@ -142,6 +143,16 @@
142143
"aui_feature_ids": "Recursos da interface do administrador",
143144
"principal_attribute": "Atributo Principal",
144145
"principal_type": "Tipo Principal",
146+
"token_channels": "Canais de token",
147+
"metric_channel": "Canal de métrica",
148+
"pdp_type": "Tipo de PDP",
149+
"opa_configuration": "Configuração OPA",
150+
"base_url": "URL base",
151+
"access_token": "Token de acesso",
152+
"policies_json_uris_authorization_token": "Token de autorização de URIs de políticas JSON",
153+
"policies_json_uris": "URIs de políticas JSON",
154+
"policies_zip_uris_authorization_token": "Token de autorização de URIs de políticas ZIP",
155+
"policies_zip_uris": "URIs de políticas ZIP",
145156
"jans_assertion_consumer_service_get_url": "URL GET do Serviço de Consumo de Asserção Jans",
146157
"jans_assertion_consumer_service_post_url": "URL POST do Serviço de Consumo de Asserção Jans",
147158
"download_summary": "Baixar Resumo",
@@ -686,6 +697,7 @@
686697
"all_attributes": "Todos os Atributos",
687698
"all_custom_scripts": "Todos os scripts personalizados",
688699
"jans_json_property": "Propriedades",
700+
"jans_lock": "Trava Jans",
689701
"config_api_configuration": "Configuração da API de Configuração",
690702
"idp": "IDP",
691703
"sp": "SP",

admin-ui/app/routes/Apps/Gluu/GluuAppSidebar.js

+3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { ThemeContext } from 'Context/theme/themeContext'
2121
import Wave from 'Components/SVG/SidebarWave'
2222
import getThemeColor from 'Context/theme/config'
2323
import CachedIcon from '@mui/icons-material/Cached';
24+
import LockIcon from '@mui/icons-material/Lock';
2425
import styles from './styles/GluuAppSidebar.style'
2526

2627
function GluuAppSidebar() {
@@ -63,6 +64,8 @@ function GluuAppSidebar() {
6364
return <ScimIcon className="menu-icon" style={{ top: '-2px' }} />
6465
case 'jans_link':
6566
return <CachedIcon className="menu-icon" style={{ top: '-2px', height: '28px', width: '28px' }} />
67+
case 'jans_lock':
68+
return <LockIcon className="menu-icon" style={{ top: '-2px', height: '28px', width: '28px' }} />
6669
case 'jans_kc_link':
6770
return <JansKcLinkIcon className="menu-icon" style={{ top: '-2px', height: '28px', width: '28px' }} />
6871
case 'saml':

admin-ui/app/utils/PermChecker.js

+3
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ export const FIDO_DELETE = BASE_URL + '/config/fido2.delete'
8484
export const JANS_LINK_READ = BASE_URL + '/config/jans-link.readonly'
8585
export const JANS_LINK_WRITE = BASE_URL + '/config/jans-link.write'
8686

87+
export const JANS_LOCK_READ = BASE_URL + '/lock-config.readonly'
88+
export const JANS_LOCK_WRITE = BASE_URL + '/lock-config.write'
89+
8790
export const JANS_KC_LINK_READ = BASE_URL + '/kc-link-config.readonly'
8891
export const JANS_KC_LINK_WRITE = BASE_URL + '/kc-link-config.write'
8992

admin-ui/openapi-merge.json

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
},
2424
{
2525
"inputURL": "https://raw.githubusercontent.com/JanssenProject/jans/main/jans-config-api/plugins/docs/kc-link-plugin-swagger.yaml"
26+
},
27+
{
28+
"inputURL": "https://raw.githubusercontent.com/JanssenProject/jans/main/jans-config-api/plugins/docs/lock-plugin-swagger.yaml"
2629
}
2730
],
2831
"output": "./configApiSpecs.yaml"

admin-ui/plugins.config.json

+4
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@
2727
"key": "fido",
2828
"metadataFile": "./fido/plugin-metadata"
2929
},
30+
{
31+
"key": "jans-lock",
32+
"metadataFile": "./jans-lock/plugin-metadata"
33+
},
3034
{
3135
"key": "jans-link",
3236
"metadataFile": "./jans-link/plugin-metadata"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import React, { useEffect } from 'react'
2+
import applicationStyle from 'Routes/Apps/Gluu/styles/applicationstyle'
3+
import GluuLoader from 'Routes/Apps/Gluu/GluuLoader'
4+
import { Card, CardBody } from 'Components'
5+
import { useDispatch, useSelector } from 'react-redux'
6+
import JansLockConfiguration from './JansLockConfiguration'
7+
import { getJansLockConfiguration } from 'Plugins/jans-lock/redux/features/JansLockSlice'
8+
import { useTranslation } from 'react-i18next'
9+
import SetTitle from 'Utils/SetTitle'
10+
11+
const JansLock = () => {
12+
const dispatch = useDispatch()
13+
const loading = useSelector((state) => state.jansLockReducer.loading)
14+
const { t } = useTranslation()
15+
16+
SetTitle(t('titles.jans_lock'))
17+
18+
useEffect(() => {
19+
dispatch(getJansLockConfiguration())
20+
}, [])
21+
22+
return (
23+
<GluuLoader blocking={loading}>
24+
<Card className='mb-3' style={applicationStyle.mainCard}>
25+
<CardBody>{!loading && <JansLockConfiguration />}</CardBody>
26+
</Card>
27+
</GluuLoader>
28+
)
29+
}
30+
31+
export default JansLock

0 commit comments

Comments
 (0)