中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

keycloak~自定義(yi)SPI的注入與擴展

項目結構

1

自定義SPI注冊

1. 直接復制文件方式

docker cp keycloak-service-self-spi.jar keycloak:/opt/
docker cp module-one-add.cli keycloak:/opt/
docker exec -it keycloak bash
$JBOSS_HOME/bin/jboss-cli.sh --file=/opt/module-one-add.cli

使(shi)用docker commit保(bao)存你當(dang)前(qian)容器(qi)為一(yi)個新(xin)的鏡像,然后啟動它即可

2. 打包鏡像方式

Dockerfile

FROM jboss/keycloak:11.0.3
USER root
#self provider
WORKDIR /opt
COPY target/keycloak-service-self-spi.jar .
RUN mkdir cli
COPY module-one-add.cli cli/
RUN $JBOSS_HOME/bin/jboss-cli.sh --file=cli/module-one-add.cli
RUN rm -rf $JBOSS_HOME/standalone/configuration/standalone_xml_history/current

打包

docker build -t self/keycloak .

后續的擴展

當有了(le)自己的SPI接口之(zhi)后,它也有了(le)對應的ProviderFactory和(he)Provider,然(ran)后你(ni)就可以在擴展它了(le),一般的步驟是:

  1. 建立新項目
  2. 依賴上面的SPI項目(它已經被注入到keycloak里,就像keycloak系統的spi)
  3. 將新的項目打包上傳到/opt/jboss/keycloak/standalone/deployments目錄完成自動化部署
  4. 在resources/META-INF/jboss-deployment-structure.xml里添加上面項目spi module
    2
  5. 注冊成功之后,在keycloak管理平臺的server-info/providers里會有體現
    3

module-one-add.cli

# main provider
module add --name=keycloak-service-self-spi --resources=/opt/keycloak-service-self-spi.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-common,org.hibernate,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private,org.keycloak.keycloak-services,org.keycloak.keycloak-model-jpa,org.jboss.logging,javax.api,javax.ws.rs.api,javax.transaction.api,javax.persistence.api,org.jboss.resteasy.resteasy-jaxrs,org.apache.httpcomponents,org.apache.commons.lang,javax.xml.bind.api,com.squareup.okhttp3
embed-server --server-config=standalone-ha.xml --std-out=echo
batch

# main provider
/subsystem=keycloak-server:list-add(name=providers,value=module:keycloak-service-self-spi)
/subsystem=keycloak-server/spi=SelfProviderFactory/:add
/subsystem=keycloak-server/spi=SelfProvider/provider=defaultselfprovider/:add(enabled=true)

run-batch
stop-embedded-server

embed-server --server-config=standalone.xml --std-out=echo
batch

# main provider
/subsystem=keycloak-server:list-add(name=providers,value=module:keycloak-phone-provider)
/subsystem=keycloak-server/spi=SelfProviderFactory/:add
/subsystem=keycloak-server/spi=SelfProvider/provider=defaultselfprovider/:add(enabled=true)

run-batch
stop-embedded-server
posted @ 2021-01-29 09:49  張占嶺  閱讀(2452)  評論(0)    收藏  舉報