Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(admin-ui): add config-api configuration sceen #1621 #1739

Merged
merged 8 commits into from
Jun 11, 2024
74 changes: 72 additions & 2 deletions admin-ui/app/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -546,7 +546,8 @@
"api": {
"roles": "Access roles",
"permissions": "Permissions",
"mapping": "Mapping"
"mapping": "Mapping",
"api_config": "Config API properties"
},
"basic_configuration": "Basic Configuration",
"inum_configuration": "Inum Configuration",
Expand Down Expand Up @@ -574,7 +575,7 @@
"oauthserver": "Auth server",
"persistence": "Persistence",
"person": "Person",
"properties": "Properties",
"properties": "Auth server properties",
"reports": "Reports",
"roles": "Roles",
"fido": "FIDO",
Expand Down Expand Up @@ -763,6 +764,7 @@
"introspection_object": "Introspection Object",
"acrs_logging": "ACRs && Logging",
"algorithmic_keys": "Algorithmic Keys",
"config_api_configuration": "Config API Configuration",
"idp": "IDP",
"sp": "SP",
"create_sp": "Create Service Provider",
Expand Down Expand Up @@ -916,6 +918,74 @@
"tag": "Tag-name to identify permission to be included in the API access token.",
"default_permission_in_token": "If set to true the permission will be available by default in the authorization token to access API (before authentication)."
},
"config_api_properties": {
"configOauthEnabled": "OAuth authentication enable/disable flag. Default value true.",
"disableLoggerTimer": "Flag to enable/disable timer to dynamically reflect log configuration changes. Default value true.",
"disableAuditLogger": "Flag to enable/disable request audit. Default value false.",
"customAttributeValidationEnabled": "Flag to enable/disable check if custom attribute is declared in schema. Default volume true.",
"apiProtectionType": "Name of supported API protection mechanism. Supported type is OAuth2.",
"apiClientId": "Config-API client ID.",
"apiClientPassword": "Config-API client password.",
"endpointInjectionEnabled": "Flag to enable/disable endpoint injection. No default value specified.",
"authIssuerUrl": "Issuer Identifier of Jans OpenID Connect Provider.",
"authOpenidConfigurationUrl": "Jans OpenID Connect Provider Well-Known Configuration URL.",
"authOpenidIntrospectionUrl": "Jans URL of the OpenID Connect Provider's OAuth 2.0 Authorization Endpoint.",
"authOpenidTokenUrl": "Jans URL of the OpenID Connect Provider's OAuth 2.0 Token Endpoint.",
"authOpenidRevokeUrl": "Jans URL of the OpenID Connect Provider's OAuth 2.0 Revoke Token Endpoint.",
"loggingLevel": "Specify logging level of Loggers. Default level is INFO.",
"loggingLayout": "Log4j logging layout. Default value TEXT.",
"externalLoggerConfiguration": "The path to the external log4j2 logging configuration.",
"disableJdkLogger": "Choose whether to disable JDK loggers. No default value specified.",
"maxCount": "Maximum number of results per page in search endpoints.",
"apiApprovedIssuer": "List of approved external Auth server to validate token.",
"exclusiveAuthScopes": "List of oAuth scope that can be validity for an access tokens only by underlying Jans Auth server.",
"corsConfigurationFilters": "CORS configuration filter properties.",
"userMandatoryAttributes": "List of User mandatory attribute for user creation request.",
"ignoreHttpMethod": "HTTP methods for which audit is disabled.",
"auditLogConf": {
"headerAttributes": "List of header HTTP attributes whose value is to be logged.",
"enabled": "Flag to enable and disable audit log.",
"self": "Audit Log configuration details."
},
"agamaConfiguration": {
"mandatoryAttributes": "List of attributes required to create the Agama Flow.",
"optionalAttributes": "List of attributes that are optional.",
"self": "Agama configuration details."
},
"dataFormatConversionConf": {
"ignoreHttpMethod": "HTTP methods for which data conversion is to be disabled.",
"enabled": "Flag to enable and disable data conversion",
"self": "Configuration for data-type converstion."
},
"plugins": {
"name": "Name of the plugin.",
"description": "Description of the plugin.",
"className": "Plugin application class.",
"self": "Details of enabled plugins."
},
"assetMgtConfiguration": {
"assetMgtEnabled": "Flag indicating if asset management functionality is enabled.",
"assetServerUploadEnabled": "Flag indicating if asset upload to server is enabled.",
"fileExtensionValidationEnabled": "Flag indicating if file extension validation is enabled.",
"moduleNameValidationEnabled": "Flag indicating if service module name extension validation is enabled.",
"assetBaseDirectory": "Base directory on server to upload the asset.",
"jansServiceModule": "List of supported service module where asset can be uploaded.",
"self": "Asset management configuration details."
},
"assetDirMapping": {
"directory": "Relative path to asset base directory.",
"type": "List of file extention that are stored in directory.",
"description": "Description of assets stored in directory.",
"self": "Asset type mapped to server directory."
},
"assetMgtEnabled": "Flag indicating if asset management functionality is enabled.",
"assetServerUploadEnabled": "Flag indicating if asset upload to server is enabled.",
"fileExtensionValidationEnabled": "Flag indicating if file extension validation is enabled.",
"moduleNameValidationEnabled": "Flag indicating if service module name extension validation is enabled.",
"assetBaseDirectory": "Base directory on server to upload the asset.",
"jansServiceModule": "List of supported service module where asset can be uploaded.",
"userExclusionAttributes": "User attribute that should not be returned in response."
},
"json_properties": {
"parEndpoint": "URL for Pushed Authorisation Request (PAR) Endpoint",
"requirePar": "Boolean value to indicate if Pushed Authorisation Request (PAR) is required",
Expand Down
74 changes: 72 additions & 2 deletions admin-ui/app/locales/fr/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@
"api": {
"roles": "Rôles d'accès",
"permissions": "Autorisations",
"mapping": "Mapping"
"mapping": "Mapping",
"api_config": "Configurer les propriétés de l'API"
},
"lock": "Verrouillage",
"cache": "Cacher",
Expand Down Expand Up @@ -69,7 +70,7 @@
"oauthserver": "Serveur Auth",
"persistence": "Persistance",
"person": "Personne",
"properties": "Propriétés",
"propriétés": "Propriétés du serveur d'authentification",
"reports": "Rapports",
"roles": "Les rôles",
"schema": "Schéma",
Expand Down Expand Up @@ -688,6 +689,7 @@
"introspection_object": "Objet d'inspection",
"all_attributes": "Tous les attributs",
"all_custom_scripts": "Tous les scripts personnalisés",
"config_api_configuration": "Configuration de l'API de configuration",
"jans_json_property": "Propriétés",
"all_oidc_clients": "Tous les clients OIDC",
"jans_kc_link": "Lien KC Jans",
Expand Down Expand Up @@ -1161,6 +1163,74 @@
"name": "Nom de rôle",
"description": "Description du rôle"
},
"config_api_properties": {
"configOauthEnabled": "Drapeau d'activation/désactivation de l'authentification OAuth. Valeur par défaut vraie.",
"disableLoggerTimer": "Drapeau pour activer/désactiver le timer pour refléter dynamiquement les changements de configuration des logs. Valeur par défaut vraie.",
"disableAuditLogger": "Drapeau pour activer/désactiver l'audit de requête. Valeur par défaut faux.",
"customAttributeValidationEnabled": "Drapeau pour activer/désactiver la vérification si l'attribut personnalisé est déclaré dans le schéma. Valeur par défaut vraie.",
"apiProtectionType": "Nom du mécanisme de protection API supporté. Type supporté est OAuth2.",
"apiClientId": "Identifiant du client Config-API.",
"apiClientPassword": "Mot de passe du client Config-API.",
"endpointInjectionEnabled": "Drapeau pour activer/désactiver l'injection de point d'accès. Aucune valeur par défaut spécifiée.",
"authIssuerUrl": "Identifiant de l'émetteur du fournisseur OpenID Connect de Jans.",
"authOpenidConfigurationUrl": "URL de configuration bien connue du fournisseur OpenID Connect de Jans.",
"authOpenidIntrospectionUrl": "URL de Jans du point d'extrémité d'autorisation OAuth 2.0 du fournisseur OpenID Connect.",
"authOpenidTokenUrl": "URL de Jans du point d'extrémité de token OAuth 2.0 du fournisseur OpenID Connect.",
"authOpenidRevokeUrl": "URL de Jans du point d'extrémité de révocation de token OAuth 2.0 du fournisseur OpenID Connect.",
"loggingLevel": "Spécifiez le niveau de journalisation des loggers. Niveau par défaut est INFO.",
"loggingLayout": "Disposition de journalisation Log4j. Valeur par défaut TEXTE.",
"externalLoggerConfiguration": "Chemin vers la configuration de journalisation log4j2 externe.",
"disableJdkLogger": "Choisissez si désactiver les loggers JDK. Aucune valeur par défaut spécifiée.",
"maxCount": "Nombre maximum de résultats par page dans les points d'accès de recherche.",
"apiApprovedIssuer": "Liste des serveurs Auth externes approuvés pour valider le token.",
"exclusiveAuthScopes": "Liste des portées OAuth qui peuvent être validées pour des tokens d'accès uniquement par le serveur Auth Jans sous-jacent.",
"corsConfigurationFilters": "Propriétés de configuration des filtres CORS.",
"userMandatoryAttributes": "Liste des attributs obligatoires pour la demande de création d'utilisateur.",
"ignoreHttpMethod": "Méthodes HTTP pour lesquelles l'audit est désactivé.",
"auditLogConf": {
"headerAttributes": "Liste des attributs HTTP d'en-tête dont la valeur doit être journalisée.",
"enabled": "Drapeau pour activer et désactiver le journal d'audit.",
"self": "Détails de la configuration du journal d'audit."
},
"agamaConfiguration": {
"mandatoryAttributes": "Liste des attributs nécessaires pour créer le flux Agama.",
"optionalAttributes": "Liste des attributs qui sont optionnels.",
"self": "Détails de la configuration Agama."
},
"dataFormatConversionConf": {
"ignoreHttpMethod": "Méthodes HTTP pour lesquelles la conversion de données doit être désactivée.",
"enabled": "Drapeau pour activer et désactiver la conversion de données",
"self": "Configuration pour la conversion de type de données."
},
"plugins": {
"name": "Nom du plugin.",
"description": "Description du plugin.",
"className": "Classe d'application du plugin.",
"self": "Détails des plugins activés."
},
"assetMgtConfiguration": {
"assetMgtEnabled": "Drapeau indiquant si la fonctionnalité de gestion des actifs est activée.",
"assetServerUploadEnabled": "Drapeau indiquant si le téléchargement d'actifs sur le serveur est activé.",
"fileExtensionValidationEnabled": "Drapeau indiquant si la validation des extensions de fichier est activée.",
"moduleNameValidationEnabled": "Drapeau indiquant si la validation de l'extension du nom du module de service est activée.",
"assetBaseDirectory": "Répertoire de base sur le serveur pour télécharger l'actif.",
"jansServiceModule": "Liste des modules de service pris en charge où l'actif peut être téléchargé.",
"self": "Détails de la configuration de gestion des actifs."
},
"assetDirMapping": {
"directory": "Chemin relatif au répertoire de base des actifs.",
"type": "Liste des extensions de fichier stockées dans le répertoire.",
"description": "Description des actifs stockés dans le répertoire.",
"self": "Type d'actif mappé au répertoire du serveur."
},
"assetMgtEnabled": "Drapeau indiquant si la fonctionnalité de gestion des actifs est activée.",
"assetServerUploadEnabled": "Drapeau indiquant si le téléchargement d'actifs sur le serveur est activé.",
"fileExtensionValidationEnabled": "Drapeau indiquant si la validation des extensions de fichier est activée.",
"moduleNameValidationEnabled": "Drapeau indiquant si la validation de l'extension du nom du module de service est activée.",
"assetBaseDirectory": "Répertoire de base sur le serveur pour télécharger l'actif.",
"jansServiceModule": "Liste des modules de service pris en charge où l'actif peut être téléchargé.",
"userExclusionAttributes": "Attribut utilisateur qui ne doit pas être retourné dans la réponse."
},
"ssa": {
"org_id": "L'org_id est utilisé pour l'identification de l'organisation.",
"description": "Décrire SSA",
Expand Down
74 changes: 72 additions & 2 deletions admin-ui/app/locales/pt/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@
"api": {
"roles": "Papéis de acesso",
"permissions": "Permissões",
"mapping": "Mapeamento"
"mapping": "Mapeamento",
"api_config": "Configurar propriedades da API"
},
"lock": "Trancar",
"cache": "Cache",
Expand Down Expand Up @@ -68,7 +69,7 @@
"oauthserver": "Servidor Auth",
"persistence": "Persistência",
"person": "Pessoa",
"properties": "Propriedades",
"propriedades": "Propriedades do servidor de autenticação",
"reports": "Relatórios",
"roles": "Funções",
"schema": "Esquema",
Expand Down Expand Up @@ -685,6 +686,7 @@
"all_attributes": "Todos os Atributos",
"all_custom_scripts": "Todos os scripts personalizados",
"jans_json_property": "Propriedades",
"config_api_configuration": "Configuração da API de Configuração",
"idp": "IDP",
"sp": "SP",
"create_sp": "Criar Provedor de Serviços",
Expand Down Expand Up @@ -1016,6 +1018,74 @@
"name": "Nome do papel",
"description": "Descrição da função"
},
"config_api_properties": {
"configOauthEnabled": "Bandeira para habilitar/desabilitar autenticação OAuth. Valor padrão verdadeiro.",
"disableLoggerTimer": "Bandeira para habilitar/desabilitar temporizador para refletir dinamicamente as mudanças de configuração de log. Valor padrão verdadeiro.",
"disableAuditLogger": "Bandeira para habilitar/desabilitar auditoria de requisição. Valor padrão falso.",
"customAttributeValidationEnabled": "Bandeira para habilitar/desabilitar a verificação se o atributo personalizado está declarado no esquema. Volume padrão verdadeiro.",
"apiProtectionType": "Nome do mecanismo de proteção da API suportado. Tipo suportado é OAuth2.",
"apiClientId": "ID do cliente da Config-API.",
"apiClientPassword": "Senha do cliente da Config-API.",
"endpointInjectionEnabled": "Bandeira para habilitar/desabilitar a injeção de endpoint. Sem valor padrão especificado.",
"authIssuerUrl": "Identificador do emissor do Provedor OpenID Connect da Jans.",
"authOpenidConfigurationUrl": "URL de Configuração Conhecida do Provedor OpenID Connect da Jans.",
"authOpenidIntrospectionUrl": "URL da Jans do Endpoint de Autorização OAuth 2.0 do Provedor OpenID Connect.",
"authOpenidTokenUrl": "URL da Jans do Endpoint de Token OAuth 2.0 do Provedor OpenID Connect.",
"authOpenidRevokeUrl": "URL da Jans do Endpoint de Revogação de Token OAuth 2.0 do Provedor OpenID Connect.",
"loggingLevel": "Especificar nível de log dos loggers. Nível padrão é INFO.",
"loggingLayout": "Layout de log Log4j. Valor padrão TEXTO.",
"externalLoggerConfiguration": "Caminho para a configuração de log externa log4j2.",
"disableJdkLogger": "Escolha se desativar os loggers JDK. Sem valor padrão especificado.",
"maxCount": "Número máximo de resultados por página nos endpoints de busca.",
"apiApprovedIssuer": "Lista de servidor Auth externo aprovado para validar token.",
"exclusiveAuthScopes": "Lista de escopos OAuth que podem ser validade para tokens de acesso apenas pelo servidor Auth Jans subjacente.",
"corsConfigurationFilters": "Propriedades de configuração de filtros CORS.",
"userMandatoryAttributes": "Lista de atributos obrigatórios para solicitação de criação de usuário.",
"ignoreHttpMethod": "Métodos HTTP para os quais a auditoria é desativada.",
"auditLogConf": {
"headerAttributes": "Lista de atributos HTTP de cabeçalho cujo valor deve ser registrado.",
"enabled": "Bandeira para habilitar e desabilitar o log de auditoria.",
"self": "Detalhes da configuração de log de auditoria."
},
"agamaConfiguration": {
"mandatoryAttributes": "Lista de atributos necessários para criar o Fluxo Agama.",
"optionalAttributes": "Lista de atributos que são opcionais.",
"self": "Detalhes da configuração Agama."
},
"dataFormatConversionConf": {
"ignoreHttpMethod": "Métodos HTTP para os quais a conversão de dados deve ser desativada.",
"enabled": "Bandeira para habilitar e desabilitar a conversão de dados",
"self": "Configuração para conversão de tipo de dados."
},
"plugins": {
"name": "Nome do plugin.",
"description": "Descrição do plugin.",
"className": "Classe de aplicação do plugin.",
"self": "Detalhes dos plugins habilitados."
},
"assetMgtConfiguration": {
"assetMgtEnabled": "Bandeira indicando se a funcionalidade de gestão de ativos está habilitada.",
"assetServerUploadEnabled": "Bandeira indicando se o upload de ativos para o servidor está habilitado.",
"fileExtensionValidationEnabled": "Bandeira indicando se a validação de extensão de arquivo está habilitada.",
"moduleNameValidationEnabled": "Bandeira indicando se a validação de extensão de nome de módulo de serviço está habilitada.",
"assetBaseDirectory": "Diretório base no servidor para upload do ativo.",
"jansServiceModule": "Lista de módulos de serviço suportados onde o ativo pode ser carregado.",
"self": "Detalhes da configuração de gestão de ativos."
},
"assetDirMapping": {
"directory": "Caminho relativo ao diretório base de ativos.",
"type": "Lista de extensão de arquivo que são armazenadas no diretório.",
"description": "Descrição dos ativos armazenados no diretório.",
"self": "Tipo de ativo mapeado ao diretório do servidor."
},
"assetMgtEnabled": "Bandeira indicando se a funcionalidade de gestão de ativos está habilitada.",
"assetServerUploadEnabled": "Bandeira indicando se o upload de ativos para o servidor está habilitado.",
"fileExtensionValidationEnabled": "Bandeira indicando se a validação de extensão de arquivo está habilitada.",
"moduleNameValidationEnabled": "Bandeira indicando se a validação de extensão de nome de módulo de serviço está habilitada.",
"assetBaseDirectory": "Diretório base no servidor para upload do ativo.",
"jansServiceModule": "Lista de módulos de serviço suportados onde o ativo pode ser carregado.",
"userExclusionAttributes": "Atributo do usuário que não deve ser retornado na resposta."
},
"json_properties": {
"parEndpoint": "URL para endpoint de solicitação de autorização push (PAR)",
"requirePar": "Valor booleano para indicar se o Pedido de Autorização Pushed (PAR) é necessário",
Expand Down
6 changes: 6 additions & 0 deletions admin-ui/app/redux/sagas/LicenseSaga.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,12 @@ function* checkMauThreshold(mau_threshold) {
}
} catch (error) {
console.log(error)
const errorMessage = error?.response?.body?.responseMessage || error.message
yield put(setLicenseError(errorMessage))
yield put(
retrieveLicenseKeyResponse({ isNoValidLicenseKeyFound: true })
)
yield put(checkLicensePresentResponse({ isLicenseValid: false }))
} finally {
yield put(setValidatingFlow({ isValidatingFlow: false }))
}
Expand Down
Loading