목록cloud (5)
두리공장
스프링부트에서 keycloak admin restapi 를 사용해야 할 경우가 있다. (사용자 계정에 대한 정보 변경 등등...) 나의 경우에는 사용자가 등록한 OTP 정보를 admin cli 를 사용하여 삭제해 주어야 하는 미션이 있었다. 몇몇 방법이 있지만 구글링 결과 키클락에서 제공하는 라이브러리를 사용하기로 했다. (순수 restapi를 구현하여 사용하는 방법도 있디만,,,ㅎㅎ) 1. pom.xml 에 디펜던시 추가 org.keycloak keycloak-admin-client 20.0.5 2. application.yml 에 접속정보 추가 keycloak: server-url: http://localhost:9080/ realm: master username: admin password: XXX..

ELK 를 구성하여 RDBMS 에 있는 데이터를 logstash 로 pipeline 을 셋팅하여 저장해 보기로 한다. 먼저 ELK 를 설치해야 하는데, docker 로 설치한다. docker repo : https://github.com/deviantony/docker-elk GitHub - deviantony/docker-elk: The Elastic stack (ELK) powered by Docker and Compose. The Elastic stack (ELK) powered by Docker and Compose. - GitHub - deviantony/docker-elk: The Elastic stack (ELK) powered by Docker and Compose. github.com W..

SPI 를 사용하면서 외부DB의 Custom Role을 적용하고 싶어졌다. 하지만 github 에는 아래와 같은 문구가 있었다. Limitations - Do not allow user information update, including password update - Do not supports user roles our groups 지원을 안한다고 해서, 그냥 쓸수는 없지 않은가.... 그래서 직접 구현해 보기로 했다. 인터넷에 찾아보니 UserAdapter 에서 getRoleMappings 를 오버라이드해서 추가 구현이 가능함을 볼 수 있었다. 그래서 아래와 같이 추가해 보았다. public class UserAdapter extends AbstractUserAdapterFederatedStora..

지난번에 singular-keycloak-database-federation 를 사용하여 keycloak 에서 external Database 를 연결하는 것을 시도해 보았다. 동기화는 잘 되었는데 user 에 보면 create at 부분이 "invalid Date" 라고 뜨는 문제가 있다. 여기에 날짜를 정상적으로 보여주기로 했다. UserAdapter 는 AbstractUserAdapterFederatedStorage 를 상속하여 사용하는데, 이걸 열어보면, public static String FIRST_NAME_ATTRIBUTE = "FIRST_NAME"; public static String LAST_NAME_ATTRIBUTE = "LAST_NAME"; public static String EM..

SSO 연동을 위해 keycloak을 사용할 경우가 있다. 그런데 대부분의 경우에는 user DB에 사용자를 등록해 놓고 user 정보를 연동하기를 원할 것이다. 이 경우에는 keycloak 에서 제공하는 provider 를 사용하여 외부 DB 와 연동할 수 있다. 아래는 연동 프로세스를 표현한 다이어 그램이다. keycloak 에서 연동을 위해서는 Service Provider Interface 를 구현해야 한다. 해당 스펙에 대해서는 keycloak 공식문서에 잘 설명되어 있지만,, https://www.keycloak.org/docs/latest/server_development/#_user-storage-spi Server Developer Guide This functionality depend..