Keycloak


1-1. 準備一台Windows環境的電腦(或虛擬機),並且進入Windows環境中。

2-1. https://docs.docker.com/desktop/install/windows-install/下載並安裝docker。
2-2. 在Windows的「開啟或關閉Windows功能」中,安裝Hyper-V。

3-1. https://docs.docker.com/desktop/install/windows-install/下載並安裝docker。
docker run -d -p 8080:8080 -p 8443:8443 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin alvearie/smart-keycloak
3-2. 開啟http://localhost:8080/並已預設的admin帳號密碼登入(admin:admin)。
3-1. https://www.keycloak.org/downloads下載Keycloak。 (若無法下載專案可點選下載2024/1/30前的版本)
3-2. 進入到Keycloak下載檔中,並開啟「命令提示字元」後執行下列指令。
bin\kc.bat start-dev
3-3. 開啟http://localhost:8080/並建立admin帳號密碼。
3-4. 登入admin。

4-1. 新增一個Realms。
4-2. 新增一個Clients。
4-3. 將Access Type改為confidential,並開啟所有認證方式。
4-4. 若設定頁面出現Credentials分頁,表示設定成功,可以到Credentials分頁中取得Client Secret。

5-1. 「hapi-fhir-jpaserver-starter-master/pom.xml」檔案中新增keycloak設定:
<dependency>
    <groupId>org.smartregister</groupId>
    <artifactId>hapi-fhir-keycloak</artifactId>
    <version>0.0.7-SNAPSHOT</version>
</dependency>
5-2. 新增連接至Keycloak的設定,開啟「hapi-fhir-jpaserver-starter-master/src/main/resources/application.yaml」在最底下新增以下程式:
keycloak:
  auth-server-url: http://localhost:8080/auth/
  realm: <Realm名稱>
  resource: <Clients名稱>
  credentials:
    secret: <剛剛複製的Secret>
  ssl-required: none

6-1. 若HAPI與Keycloak架在同台機器上,可能會導致port衝突,可以另外將HAPI以其他port執行(修改「hapi-fhir-jpaserver-starter-master/src/main/resources/application.yaml」中的port號)。
6-2. 刪除「hapi-fhir-jpaserver-starter-master/target」暫存資料夾,若未刪除可能會保留原本的設定而無法正常執行。
6-3. 開始執行HAPI FHIR Server
mvn -Pjetty -Djetty.port=<與設定檔中一樣的port> jetty:run

(若使用手機板可能無法顯示,可點擊此開啟教學手冊)