invesdwin / invesdwin-context-security

invesdwin-context modules that provide security features
GNU Lesser General Public License v3.0
1 stars 0 forks source link

integrate keycloak #2

Open subes opened 3 years ago

subes commented 3 years ago

keycloak is easily embeddable: https://www.baeldung.com/keycloak-embedded-in-spring-boot-app

provide integration similar to ApacheDS so it can be turned on/off via annotation in unit tests.

This can then be used for authentication example projects in invesdwin-context-client with some js frontend framework.

subes commented 3 years ago

Could also provide client integration test cases for OpenID Connect (requires new spring-security client module), OAuth 2.0 (requires new security client module) and SAML 2.0 (already exists as invesdwin-context-security-saml module).

subes commented 3 years ago

Keycloak should be configurable to use a database as provided by invesdwin-context-persistence-jpa or a LDAP as provided by invesdwin-context-security-ldap-sever (which will likely be split into two separate modules, one for apacheds, another for OpenDJ).

See: https://github.com/subes/invesdwin-context-security/issues/1

subes commented 2 years ago

It will be better to embed keycloak as a docker image into test cases instead of trying to embed it in the classpath: https://www.testcontainers.org/test_framework_integration/junit_5/

subes commented 2 years ago

https://github.com/dasniko/testcontainers-keycloak