Skip to content

feat(jans-config-api): adding allowSmtpKeystoreEdit property in admin-ui configuration #10091

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

Merged
merged 1 commit into from
Nov 8, 2024

Conversation

duttarnab
Copy link
Contributor

closes #10067

Signed-off-by: Arnab Dutta <arnab.bdutta@gmail.com>
Copy link

dryrunsecurity bot commented Nov 8, 2024

DryRun Security Summary

The provided code changes focus on enhancing the security and manageability of the Admin UI (AUI) in the Jans Auth Server application, including the addition of SMTP keystore editing control, role and permission management, configuration persistence, and webhook management.

Expand for full summary

Summary:

The provided code changes focus on enhancing the security and manageability of the Admin UI (AUI) in the Jans Auth Server application. The key changes include:

  1. SMTP Keystore Editing: The addition of a new configuration parameter allowSmtpKeystoreEdit that controls whether users can edit the SMTP keystore in the AUI. This is an important security consideration, as the SMTP keystore may contain sensitive information that should be properly protected.

  2. Role and Permission Management: The code introduces new functionality for managing roles and permissions in the AUI, including the ability to add, edit, and delete roles and permissions, as well as map permissions to roles. Proper access control and role-based permissions are crucial for ensuring that users have the appropriate level of access to the application.

  3. Configuration Persistence: The configuration changes are persisted to the database using the PersistenceEntryManager. It is important to ensure that the database and any related configuration files are properly secured to prevent unauthorized access or modification.

  4. Webhook Management: The changes include the addition of endpoints for managing webhooks, which allow for the integration of external systems and the triggering of actions based on specific events. It is important to ensure that the implementation of these webhook features is secure, with proper input validation and authorization checks.

Overall, the code changes appear to be focused on enhancing the security and manageability of the AUI, while also incorporating security best practices such as authentication, authorization, and input validation.

Files Changed:

  1. jans-auth-server/model/src/main/java/io/jans/as/model/config/adminui/UIConfiguration.java: The changes introduce a new field allowSmtpKeystoreEdit to control whether the SMTP keystore can be edited in the AUI.

  2. jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/config/AUIConfiguration.java: Similar to the changes in the UIConfiguration class, this file adds the allowSmtpKeystoreEdit property to the AUIConfiguration class.

  3. jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/service/adminui/AdminUIService.java: This file includes changes related to the management of roles, permissions, and the SMTP keystore configuration in the AUI.

  4. jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/model/auth/AppConfigResponse.java: The changes introduce a new field allowSmtpKeystoreEdit to the AppConfigResponse class, which is used for serialization and deserialization of JSON data.

  5. jans-config-api/plugins/admin-ui-plugin/src/main/java/io/jans/ca/plugin/adminui/service/config/AUIConfigurationService.java: This file includes changes related to the management of the AUI configuration, including the SMTP keystore and license validation.

  6. jans-config-api/plugins/docs/jans-admin-ui-plugin-swagger.yaml: This file contains updates to the Swagger documentation for the Admin UI, including new endpoints for managing permissions, roles, role-permissions mapping, configuration, licenses, and webhooks.

Code Analysis

We ran 9 analyzers against 6 files and 0 analyzers had findings. 9 analyzers had no findings.

Riskiness

🟢 Risk threshold not exceeded.

View PR in the DryRun Dashboard.

@mo-auto mo-auto added comp-docs Touching folder /docs comp-jans-auth-server Component affected by issue or PR comp-jans-config-api Component affected by issue or PR kind-feature Issue or PR is a new feature request labels Nov 8, 2024
@duttarnab duttarnab changed the title feat: adding allowSmtpKeystoreEdit property in admin-ui configuration feat(jans-config-api): adding allowSmtpKeystoreEdit property in admin-ui configuration Nov 8, 2024
@yuriyz yuriyz enabled auto-merge (squash) November 8, 2024 11:25
@yuriyz yuriyz merged commit c43f43c into main Nov 8, 2024
11 checks passed
@yuriyz yuriyz deleted the admin-ui-issue-10067 branch November 8, 2024 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-docs Touching folder /docs comp-jans-auth-server Component affected by issue or PR comp-jans-config-api Component affected by issue or PR kind-feature Issue or PR is a new feature request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(jans-config-api): adding allowSmtpKeystoreEdit property in admin-ui configuration
4 participants