Skip to content

Commit 79765d0

Browse files
authored
Merge pull request #1629 from GluuFederation/admin-ui-test-1608-extended
feat(admin-ui): implement UI for Jans Keycloak Link configuration #1608
2 parents 33e2bf9 + 9376c76 commit 79765d0

23 files changed

+1798
-5
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import React from 'react'
2+
import PropTypes from 'prop-types'
3+
4+
const JansKcLinkIcon = ({ className, style }) => {
5+
return (
6+
<div className={className} style={style}>
7+
<svg
8+
enableBackground='new 0 0 1024 1024'
9+
viewBox='0 0 1024 1024'
10+
xmlns='http://www.w3.org/2000/svg'
11+
>
12+
<circle cx='512' cy='512' fill='#000' r='512' />
13+
<path
14+
d='m786.2 395.5h-80.6c-1.5 0-3-.8-3.7-2.1l-64.7-112.2c-.8-1.3-2.2-2.1-3.8-2.1h-264c-1.5 0-3 .8-3.7 2.1l-67.3 116.4-64.8 112.2c-.7 1.3-.7 2.9 0 4.3l64.8 112.2 67.2 116.5c.7 1.3 2.2 2.2 3.7 2.1h264.1c1.5 0 3-.8 3.8-2.1l64.8-112.2c.7-1.3 2.2-2.2 3.7-2.1h80.6c2.7 0 4.8-2.2 4.8-4.8v-223.3c-.1-2.7-2.3-4.9-4.9-4.9zm-308.7 235.1-20.3 35c-.3.5-.8 1-1.3 1.3-.6.3-1.2.5-1.9.5h-40.3c-1.4 0-2.7-.7-3.3-2l-60.1-104.3-5.9-10.3-21.6-36.9c-.3-.5-.5-1.1-.4-1.8 0-.6.2-1.3.5-1.8l21.7-37.6 65.9-114c.7-1.2 2-2 3.3-2h40.2c.7 0 1.4.2 2.1.5.5.3 1 .7 1.3 1.3l20.3 35.2c.6 1.2.5 2.7-.2 3.8l-65.1 112.8c-.3.5-.4 1.1-.4 1.6 0 .6.2 1.1.4 1.6l65.1 112.7c.9 1.5.8 3.1 0 4.4zm202.1-116.7-21.6 36.9-5.9 10.3-60.1 104.3c-.7 1.2-1.9 2-3.3 2h-40.3c-.7 0-1.3-.2-1.9-.5-.5-.3-1-.7-1.3-1.3l-20.3-35c-.9-1.3-.9-2.9-.1-4.2l65.1-112.7c.3-.5.4-1.1.4-1.6 0-.6-.2-1.1-.4-1.6l-65.1-112.8c-.7-1.2-.8-2.6-.2-3.8l20.3-35.2c.3-.5.8-1 1.3-1.3.6-.4 1.3-.5 2.1-.5h40.4c1.4 0 2.7.7 3.3 2l65.9 114 21.7 37.6c.3.6.5 1.2.5 1.8 0 .4-.2 1-.5 1.6z'
15+
fill='#fff'
16+
/>
17+
</svg>
18+
</div>
19+
)
20+
}
21+
22+
export default JansKcLinkIcon
23+
JansKcLinkIcon.propTypes = {
24+
style: PropTypes.object,
25+
className: PropTypes.string,
26+
}

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

+23
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,17 @@
8787
"adminui_default_acr": "Admin UI authentication method (ACR)",
8888
"download_summary": "Download Summary",
8989
"metadata_location": "Metadata Location",
90+
"enable_kc": "Enable Jannssen Keycloak Link",
91+
"ldap_search_limit": "LDAP Search Size Limit",
92+
"kc_use_search_limit": "Use Search Limit",
93+
"allow_person_modification": "Allow Person Modification",
94+
"attribute_mappings": "Attribute Mappings",
95+
"kc_server_ip": "Keycloak Link Server Ip Address",
96+
"kc_polling_interval": "Keycloak Link Polling Interval",
97+
"kc_link_last_update": "Keycloak Link Last Update",
98+
"kc_last_update_count": "Keycloak Link Last Update Count",
99+
"kc_problem_count": "Keycloak Link Problem Count",
100+
"update_method": "Update Method",
90101
"released_attributes": "Released Attributes",
91102
"jans_assertion_consumer_service_get_url": "Jans Assertion Consumer Service GET URL",
92103
"jans_assertion_consumer_service_post_url": "Jans Assertion Consumer Service POST URL",
@@ -133,6 +144,7 @@
133144
"idp_metadata_file": "IDP Metadata File",
134145
"idpMetadataMandatoryAttributes": "IDP Metadat Attribute",
135146
"realm": "Realm",
147+
"rrealm": "Rrealm",
136148
"server_url": "Server URL",
137149
"realm_dn": "Realm DN",
138150
"idp_root_dir": "IDP Root Directory",
@@ -520,6 +532,9 @@
520532
"trust_relationships": "Trust Relationships",
521533
"service_providers": "Website SSO",
522534
"identity_providers": "Identity Brokering",
535+
"add_source": "Add Source",
536+
"edit_source": "Edit Source",
537+
"view_source": "View Source",
523538
"adminui": "Admin",
524539
"config-api": "Config-API",
525540
"authn": "Authn",
@@ -529,6 +544,11 @@
529544
"permissions": "Permissions",
530545
"mapping": "Mapping"
531546
},
547+
"basic_configuration": "Basic Configuration",
548+
"inum_configuration": "Inum Configuration",
549+
"sources": "Sources",
550+
"target_configuration": "Target Configuration",
551+
"keycloack_configuration": "Keycloack Configuration",
532552
"lock": "Lock",
533553
"cache": "Cache",
534554
"clients": "Clients",
@@ -569,6 +589,7 @@
569589
"user-management": "User Management",
570590
"agama": "Agama",
571591
"jans_link": "Jans Link",
592+
"jans_kc_link": "Jans KC Link",
572593
"cache_refresh": "Cache Refresh",
573594
"customer_backend_key_attributes": "Customer Backend Key/Attributes",
574595
"source_backend_ldap_servers": "Source Backend LDAP Servers",
@@ -579,6 +600,7 @@
579600
"messages": {
580601
"add_permission": "Add Permission",
581602
"add_configuration": "Add Configuration",
603+
"view_configuration": "View Configuration",
582604
"view_trust_relationshi_details": "View Trust Relationship Details",
583605
"add_trust_relationship": "Add Trust Relationship",
584606
"add_service_provider": "Add Service Provider",
@@ -744,6 +766,7 @@
744766
"create_idp": "Create IDP",
745767
"edit_idp": "Edit IDP",
746768
"application_settings": "Application Settings",
769+
"jans_kc_ink": "Jans KC Link",
747770
"all_attributes": "Attributes/Claims",
748771
"all_custom_scripts": "Custom Scripts",
749772
"all_oidc_clients": "OpenID Clients",

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

+24-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
"adminui": "Administratrice",
3232
"config-api": "Config-API",
3333
"webhooks": "Webhooks",
34+
"add_source": "Ajouter une source",
35+
"edit_source": "Modifier la source",
36+
"view_source": "Afficher la source",
3437
"saml": "SAML",
3538
"trust_relationships": "Relations de confiance",
3639
"api": {
@@ -43,6 +46,11 @@
4346
"clients": "Clientes",
4447
"service_providers": "SSO de site web",
4548
"identity_providers": "Courtage d'identité",
49+
"basic_configuration": "Configuration de base",
50+
"inum_configuration": "Configuration Inum",
51+
"sources": "Sources",
52+
"target_configuration": "Configuration cible",
53+
"keycloack_configuration": "Configuration Keycloack",
4654
"configuration": "Configuration",
4755
"couchbase": "Base de canapé",
4856
"dashboard": "Tableau de bord",
@@ -77,6 +85,7 @@
7785
"users": "Utilisateurs",
7886
"user-management": "User Management",
7987
"jans_link": "Jans Lien",
88+
"jans_kc_link": "Lien KC Jans",
8089
"cache_refresh": "Actualisation du cache",
8190
"customer_backend_key_attributes": "Clé/attributs du backend client",
8291
"source_backend_ldap_servers": "Serveurs LDAP dorsaux sources",
@@ -135,6 +144,17 @@
135144
"jans_assertion_consumer_service_post_url": "URL POST du service consommateur d'assertions Jans",
136145
"ssl_key_store_password": "Mot de passe du magasin de clés SSL",
137146
"customAttributes": "attributs personnalisés",
147+
"enable_kc": "Activer le lien Jannssen Keycloak",
148+
"ldap_search_limit": "Limite de taille de recherche LDAP",
149+
"kc_use_search_limit": "Utiliser la limite de recherche",
150+
"allow_person_modification": "Autoriser la modification de personne",
151+
"attribute_mappings": "Mappages d'attributs",
152+
"kc_server_ip": "Adresse IP du serveur de lien Keycloak",
153+
"kc_polling_interval": "Intervalle de sondage de lien Keycloak",
154+
"kc_link_last_update": "Dernière mise à jour du lien Keycloak",
155+
"kc_last_update_count": "Nombre de dernières mises à jour du lien Keycloak",
156+
"kc_problem_count": "Nombre de problèmes du lien Keycloak",
157+
"update_method": "Méthode de mise à jour",
138158
"sessionTimeoutInMins": "Délai d'expiration de la session de l'interface administrateur (en minutes)",
139159
"adminui_default_acr": "Méthode d'authentification de l'interface administrateur (ACR)",
140160
"metadata_location": "Emplacement des métadonnées",
@@ -522,6 +542,7 @@
522542
"messages": {
523543
"add_permission": "Ajouter une autorisation",
524544
"add_configuration": "Ajouter une configuration",
545+
"view_configuration": "Afficher la configuration",
525546
"new_role": "Nouveau rôle",
526547
"view_trust_relationshi_details": "Voir les détails de la relation de confiance",
527548
"add_trust_relationship": "Ajouter une relation de confiance",
@@ -665,7 +686,9 @@
665686
"all_custom_scripts": "Tous les scripts personnalisés",
666687
"jans_json_property": "Propriétés",
667688
"all_oidc_clients": "Tous les clients OIDC",
668-
"all_scopes": "Toutes les portées", "idp": "IDP",
689+
"jans_kc_link": "Lien KC Jans",
690+
"all_scopes": "Toutes les portées",
691+
"idp": "IDP",
669692
"sp": "SP",
670693
"create_sp": "Créer un fournisseur de services",
671694
"edit_sp": "Modifier un fournisseur de services",

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

+23-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
"adminui": "Admin",
3232
"config-api": "Config-API",
3333
"saml": "SAML",
34+
"add_source": "Adicionar Fonte",
35+
"edit_source": "Editar Fonte",
36+
"view_source": "Ver Fonte",
3437
"trust_relationships": "Relacionamentos de confiança",
3538
"service_providers": "SSO para sites",
3639
"identity_providers": "Intermediação de Identidade",
@@ -42,6 +45,11 @@
4245
"lock": "Trancar",
4346
"cache": "Cache",
4447
"clients": "Clientes",
48+
"basic_configuration": "Configuração Básica",
49+
"inum_configuration": "Configuração Inum",
50+
"sources": "Fontes",
51+
"target_configuration": "Configuração Alvo",
52+
"keycloack_configuration": "Configuração Keycloak",
4553
"configuration": "Configuração",
4654
"couchbase": "Couchbase",
4755
"defaults": "Padrões",
@@ -142,6 +150,17 @@
142150
"released_attributes": "Atributos Liberados",
143151
"metadata_file": "Arquivo de Metadados",
144152
"metadata_url": "URL dos metadados",
153+
"enable_kc": "Ativar Link Jannssen Keycloak",
154+
"ldap_search_limit": "Limite de Tamanho de Pesquisa LDAP",
155+
"kc_use_search_limit": "Usar Limite de Pesquisa",
156+
"allow_person_modification": "Permitir Modificação de Pessoa",
157+
"attribute_mappings": "Mapeamentos de Atributos",
158+
"kc_server_ip": "Endereço IP do Servidor de Link Keycloak",
159+
"kc_polling_interval": "Intervalo de Enquete do Link Keycloak",
160+
"kc_link_last_update": "Última Atualização do Link Keycloak",
161+
"kc_last_update_count": "Contagem da Última Atualização do Link Keycloak",
162+
"kc_problem_count": "Contagem de Problemas do Link Keycloak",
163+
"update_method": "Método de Atualização",
145164
"message_provider_type": "Tipo de provedor de mensagens",
146165
"ssl_key_store_file_path": "Caminho do arquivo de armazenamento de chaves SSL",
147166
"ssl_trust_store_password": "Senha do armazenamento de confiança SSL",
@@ -518,6 +537,7 @@
518537
"messages": {
519538
"add_permission": "Adicionar permissão",
520539
"add_configuration": "Adicionar configuração",
540+
"view_configuration": "Ver Configuração",
521541
"add_idp": "Adicionar IDP SAML",
522542
"view_trust_relationshi_details": "Visualizar Detalhes da Relação de Confiança",
523543
"add_trust_relationship": "Adicionar Relação de Confiança",
@@ -670,6 +690,7 @@
670690
"all_oidc_clients": "Todos os clientes OIDC",
671691
"saml_management": "SAML",
672692
"all_scopes": "Todos os escopos",
693+
"jans_kc_ink": "Link KC Jans",
673694
"client_advanced": "Avançado",
674695
"client_attributes": "Atributos do cliente",
675696
"client_basic": "Básico",
@@ -702,7 +723,8 @@
702723
"ssa_management": "SSA Gerenciamento",
703724
"jans_ink": "Jans Link",
704725
"change_backend_bind_password": "Alterar senha de ligação de back-end",
705-
"add_agama_project": "Adicionar projeto Agama"
726+
"add_agama_project": "Adicionar projeto Agama",
727+
"jans_kc_link": "Link KC Jans"
706728
},
707729
"links": {
708730
"support": "https://support.gluu.org/"

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

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import StmpIcon from "Components/SVG/menu/Smtp"
1616
import FidoIcon from "Components/SVG/menu/Fido"
1717
import ScimIcon from "Components/SVG/menu/Scim"
1818
import SamlIcon from 'Components/SVG/menu/Saml'
19+
import JansKcLinkIcon from 'Components/SVG/menu/JansKcLinkIcon'
1920
import { ThemeContext } from 'Context/theme/themeContext'
2021
import Wave from 'Components/SVG/SidebarWave'
2122
import getThemeColor from 'Context/theme/config'
@@ -62,6 +63,8 @@ function GluuAppSidebar() {
6263
return <ScimIcon className="menu-icon" style={{ top: '-2px' }} />
6364
case 'jans_link':
6465
return <CachedIcon className="menu-icon" style={{ top: '-2px', height: '28px', width: '28px' }} />
66+
case 'jans_kc_link':
67+
return <JansKcLinkIcon className="menu-icon" style={{ top: '-2px', height: '28px', width: '28px' }} />
6568
case 'saml':
6669
return <SamlIcon className="menu-icon" style={{ top: 0, height: '28px', width: '28px' }} />
6770
default:
@@ -169,4 +172,4 @@ function GluuAppSidebar() {
169172
)
170173
}
171174

172-
export default GluuAppSidebar
175+
export default GluuAppSidebar

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_KC_LINK_READ = BASE_URL + '/kc-link-config.readonly'
88+
export const JANS_KC_LINK_WRITE = BASE_URL + '/kc-link-config.write'
89+
8790
export const CACHE_READ = BASE_URL + '/config/cache.readonly'
8891
export const CACHE_WRITE = BASE_URL + '/config/cache.write'
8992
export const CACHE_DELETE = BASE_URL + '/config/cache.delete'

admin-ui/openapi-merge.json

+3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
},
2121
{
2222
"inputURL": "https://raw.githubusercontent.com/JanssenProject/jans/main/jans-config-api/plugins/docs/kc-saml-plugin-swagger.yaml"
23+
},
24+
{
25+
"inputURL": "https://raw.githubusercontent.com/JanssenProject/jans/main/jans-config-api/plugins/docs/kc-link-plugin-swagger.yaml"
2326
}
2427
],
2528
"output": "./configApiSpecs.yaml"

admin-ui/plugins.config.json

+4
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
"key": "jans-link",
3232
"metadataFile": "./jans-link/plugin-metadata"
3333
},
34+
{
35+
"key": "jans-kc-link",
36+
"metadataFile": "./jans-kc-link/plugin-metadata"
37+
},
3438
{
3539
"key": "scim",
3640
"metadataFile": "./scim/plugin-metadata"

0 commit comments

Comments
 (0)