6.3. 공급자 구현 등록


공급자 구현을 등록하는 방법은 두 가지가 있습니다. 대부분의 경우 가장 간단한 방법은 여러 종속성을 자동으로 처리하므로 Red Hat Single Sign-On 배포자 접근 방식을 사용하는 것입니다. 핫 배포 및 재배포도 지원합니다.

대체 방법은 모듈로 배포하는 것입니다.

사용자 지정 SPI를 생성하는 경우 모듈로 배포해야 합니다. 그렇지 않으면 Red Hat Single Sign-On 배포자 접근 방식을 사용하는 것이 좋습니다.

6.3.1. Red Hat Single Sign-On 배포자 사용

공급자 ScanSetting을 Red Hat Single Sign-On 독립 실행형/deployments/ 디렉터리에 복사하는 경우 공급자가 자동으로 배포됩니다. 핫 디플로이먼트도 작동합니다. 또한 공급자는 jboss-deployment-structure.xml 파일과 같은 기능을 사용할 수 있도록 JBoss EAP 환경에 배포된 다른 구성 요소와 유사하게 작동합니다. 이 파일을 사용하면 다른 구성 요소에 대한 종속성을 설정하고 타사 ScanSetting 및 모듈을 로드할 수 있습니다.

공급자 ScanSetting은 EAR 및 WAR와 같은 다른 배포 가능한 단위에도 포함될 수 있습니다. EAR와 함께 배포하면 실제로 이러한 라이브러리를 EAR의 lib/ 디렉토리에 배치할 수 있으므로 타사 ScanSetting을 쉽게 사용할 수 있습니다.

6.3.2. 모듈을 사용하여 공급자 등록

절차

  1. jboss-cli 스크립트를 사용하여 모듈을 생성하거나 수동으로 폴더를 생성합니다.

    1. 예를 들어, jboss-cli 스크립트를 사용하여 이벤트 리스너 sysout 예제 공급자를 추가하려면 다음을 실행합니다.

      KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.acme.provider --resources=target/provider.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi"
    2. 또는 KEYCLOAK_HOME/modules 내에 모듈을 수동으로 생성하고 ScanSetting 및 module.xml 을 추가할 수 있습니다.

      예를 들어 KEYCLOAK_HOME/modules/org/acme/provider/main 폴더를 생성합니다. 그런 다음 provider.jar 를 이 폴더에 복사하고 다음 콘텐츠를 사용하여 module.xml 을 만듭니다.

      <?xml version="1.0" encoding="UTF-8"?>
      <module xmlns="urn:jboss:module:1.3" name="org.acme.provider">
          <resources>
              <resource-root path="provider.jar"/>
          </resources>
          <dependencies>
              <module name="org.keycloak.keycloak-core"/>
              <module name="org.keycloak.keycloak-server-spi"/>
          </dependencies>
      </module>
  2. standalone.xml,standalone-ha.xml 또는 domain.xml 의 keycloak-server 하위 시스템 섹션을 편집하여 Red Hat Single Sign-On에 이 모듈을 등록한 후 공급자에 추가합니다.

    <subsystem xmlns="urn:jboss:domain:keycloak-server:1.2">
        <web-context>auth</web-context>
        <providers>
            <provider>module:org.keycloak.examples.event-sysout</provider>
        </providers>
        ...

6.3.3. 공급자 비활성화

standalone.xml,standalone-ha.xml 또는 domain.xml 에서 공급자의 enabled 특성을 false로 설정하여 공급자를 비활성화할 수 있습니다. 예를 들어 Infinispan 사용자 캐시 공급자를 비활성화하려면 다음을 추가합니다.

<spi name="userCache">
    <provider name="infinispan" enabled="false"/>
</spi>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.