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

Add Keycloak deployment artifacts and authentication #32

Merged
merged 1 commit into from Jul 9, 2021

Conversation

ikyranas
Copy link
Collaborator

The Keycloak solution is used to authenticate users with the OpenIDC protocol.
The Sastix CMS server module is using the keycloak adapter to use the features.
More specifically:

  • The commons-io dependency is upgraded due to known vulnerabilities.
  • The keycloak-spring-boot-2-starter dependency is used.
  • The security configuration of the server is changed to use Keycloak's adapter.
  • Integration tests are provided to be used on a staging server.
  • Docs are provided in Markdown form.
  • Kubernetes and docker-compose artifacts are provided for Keycloak.
  • Development environment setup with docker-compose is provided.
  • Default configuration of MariaDB and Keycloak is provided for the development environment.

This pull request closes #1 , #2 .

@ikyranas ikyranas added User management (S2) Related to the user management, authentication and authorisation story Extension of backend features (S3) Feature for the Sastix CMS server labels Jun 17, 2021
@ikyranas ikyranas added this to the Week 1 (7 June - 13 June) milestone Jun 17, 2021
@ikyranas ikyranas requested a review from iskitsas June 17, 2021 15:32
@ikyranas ikyranas self-assigned this Jun 17, 2021
@ikyranas ikyranas added this to To do in GSoC-2021 via automation Jun 17, 2021
@iskitsas
Copy link
Collaborator

iskitsas commented Jun 23, 2021

@ikyrannas ,

I am getting a build error:

[INFO] -------------------------------------------------------------
[ERROR] /Users/iskitsas/gitRepos/sastix/cms/server/src/main/java/com/sastix/cms/server/services/content/impl/ZipHandlerServiceImpl.java:[84,32] reference to newFileSystem is ambiguous
  both method newFileSystem(java.nio.file.Path,java.lang.ClassLoader) in java.nio.file.FileSystems and method newFileSystem(java.nio.file.Path,java.util.Map<java.lang.String,?>) in java.nio.file.FileSystems match
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for SASTIX CMS 0.0.1-SNAPSHOT:
[INFO] 
[INFO] SASTIX CMS ......................................... SUCCESS [  0.223 s]
[INFO] Common Library ..................................... SUCCESS [  0.006 s]
[INFO] Common Data Objects ................................ SUCCESS [  2.270 s]
[INFO] Common Services .................................... SUCCESS [  0.887 s]
[INFO] Common Client ...................................... SUCCESS [  0.583 s]
[INFO] Common Api ......................................... SUCCESS [  0.211 s]
[INFO] Server ............................................. FAILURE [  1.744 s]
[INFO] CMS Client ......................................... SKIPPED
[INFO] Integration Tests .................................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.134 s
[INFO] Finished at: 2021-06-23T09:25:55+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project cms-server: Compilation failure
[ERROR] /Users/iskitsas/gitRepos/sastix/cms/server/src/main/java/com/sastix/cms/server/services/content/impl/ZipHandlerServiceImpl.java:[84,32] reference to newFileSystem is ambiguous
[ERROR]   both method newFileSystem(java.nio.file.Path,java.lang.ClassLoader) in java.nio.file.FileSystems and method newFileSystem(java.nio.file.Path,java.util.Map<java.lang.String,?>) in java.nio.file.FileSystems match

Do you have the same issue?

Copy link
Collaborator

@iskitsas iskitsas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can update the README.md file in the root folder to include some information on how someone can use Keycloak. Additionally, review what steps already there, and update where necessary.

Initially we can have Keycloak disabled, but we can provide instructions in this README how can someone easily turn it on through the relative property and/or scripts.

@ikyranas
Copy link
Collaborator Author

@iskitsas Hello,

I don't have the same issue.

[INFO] SASTIX CMS ......................................... SUCCESS [  0.315 s]
[INFO] Common Library ..................................... SUCCESS [  0.008 s]
[INFO] Common Data Objects ................................ SUCCESS [  3.160 s]
[INFO] Common Services .................................... SUCCESS [  1.374 s]
[INFO] Common Client ...................................... SUCCESS [  0.561 s]
[INFO] Common Api ......................................... SUCCESS [  0.128 s]
[INFO] Server ............................................. SUCCESS [ 25.124 s]
[INFO] CMS Client ......................................... SUCCESS [  2.934 s]
[INFO] Integration Tests .................................. SUCCESS [  1.460 s]

My version of the JDK is

openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

and I have Maven

Apache Maven 3.6.3

The Keycloak solution is used to authenticate users with the OpenIDC protocol.
The Sastix CMS server module is using the keycloak adapter to use the features.
More specifically:

- The commons-io dependency is upgraded due to known vulnerabilities.
- The keycloak-spring-boot-2-starter dependency is used.
- The security configuration of the server is changed to use Keycloak's adapter.
- The use of Keycloak is optional.
- Integration tests are provided to be used on a staging server.
- Docs are provided in Markdown form.
- Kubernetes and docker-compose artifacts are provided for Keycloak.
- Development environment setup with docker-compose is provided.
- Default configuration of MariaDB and Keycloak is provided for the development
  environment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Extension of backend features (S3) Feature for the Sastix CMS server User management (S2) Related to the user management, authentication and authorisation story
Projects
Development

Successfully merging this pull request may close these issues.

Keycloak deployment artifacts
2 participants