728x90
반응형
1. 서론
-
keycloak은 현재 H2 Database로 관리되고있습니다.
-
이를 오라클로 변경해보는 작업을 진행하였는데, 찾아봐도 번역본이 없기에 내가 직접 해본 후기를 올리려고 합니다.
-
참고 자료
2. 본론
1. ojdbc download
- 우선 오라클을 이용하기 위해 ojdbc가 있어야 합니다.
- 저는 ojdbc6을 사용하였습니다. 다운로드는 여기에서 진행하시면 됩니다.
2. make directory
- 다음과 같은 디렉토리 구성이 필요합니다.
<keycloak-installation-directory>\\modules\\system\\layers\\keycloak\\com\\oracle\\main
다음과 같이 경로를 구성하셨다면, 두 개의 파일을 아래의 사진과 같이 이동시켜줍니다.
3. code module.xml
-
새로 만들었던 module.xml을 열고, 편집해주는 작업을 진행하겠습니다.
중요한 것은 jar 파일 명과 아래의 resource-root 의 이름이 같아야 한다는 것입니다.
<?xml version="1.0" ?>
<module xmlns="urn:jboss:module:1.3" name="com.oracle">
<resources>
<resource-root path="ojdbc6.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
이제 모듈이 셋팅되었는데요. 사실 이 파일을 standalone.xml 에 등록해주기 전까지는 Keycloak은 무슨일이 벌어졌는지 알 길이 없습니다. 그래서 이제 등록해주기로 합시다.
4. code standalone.xml
- 이제 standalone.xml의 경로로 이동합니다. 해당 경로는 다음과 같습니다.
- 열어주고 ctrl + f 후, 다음을 찾아서 다음과 같이 바꾸어줍니다.
<subsystem xmlns="urn:jboss:domain:datasources:5.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}">
<connection-url>jdbc:oracle:thin:@localhost:1521/orcl</connection-url>
<driver>oracle</driver>
<security>
<user-name>system</user-name>
<password>123</password>
</security>
<!--<validation>
<background-validation>true</background-validation>
<background-validation-millis>60000</background-validation-millis>
</validation>-->
<pool>
<max-pool-size>20</max-pool-size>
</pool>
</datasource>
<drivers>
<driver name="oracle" module="com.oracle">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
- 포트, 사용자 이름과 비밀번호는 잘 커스터마이징하시길 바랍니다.
- 이제 실행해서 확인해 보면 잘 되는 것을 볼 수 있습니다.
3. 결론
- Keycloak의 접속정보를 바꾸어보는 작업을 진행해보았습니다. postgre db, mysql db 등 다른 db도 이와 유사하게 변경 가능할 것으로 예상됩니다.
728x90
반응형
'Dev' 카테고리의 다른 글
9. [SSO] Keycloak User Storage SPI 번역해보기 - 2 (0) | 2020.10.13 |
---|---|
8. [SSO] Keycloak User Storage SPI 번역해보기 (0) | 2020.10.12 |
6. [SSO] Keycloak & Springboot 적용기 - 3 (0) | 2020.09.28 |
5. [SSO] Keycloak & Springboot 적용기 - 2 (0) | 2020.09.27 |
4. [SSO] Keycloak & Springboot 적용기 (2) | 2020.09.26 |