18.11. ID 공급자 작업
사용 가능한 ID 공급자 나열
serverinfo
끝점을 사용하여 사용 가능한 ID 공급자를 나열합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh get serverinfo -r demorealm --fields 'identityProviders(*)'
Red Hat Single Sign-On은 realms
엔드포인트와 유사하게 serverinfo
엔드포인트를 처리합니다. Red Hat Single Sign-On은 특정 영역 외부에 있기 때문에 대상 영역에 대한 끝점을 확인하지 않습니다.
구성된 ID 공급자 나열
identity-provider/instances
끝점을 사용합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh get identity-provider/instances -r demorealm --fields alias,providerId,enabled
구성된 특정 ID 공급자 가져오기
ID 공급자의 별칭
속성을 사용하여 identity-provider/instances/ALIAS
와 같은 엔드포인트 URI를 구성하여 특정 ID 공급자를 가져옵니다.
예를 들면 다음과 같습니다.
$ kcadm.sh get identity-provider/instances/facebook -r demorealm
구성된 특정 ID 공급자 제거
구성된 특정 ID 공급자를 제거하기 위해 사용하는 것과 동일한 끝점 URI와 함께 delete
명령을 사용합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh delete identity-provider/instances/facebook -r demorealm
Keycloak OpenID Connect ID 공급자 구성
-
새 ID 공급자 인스턴스를 생성할 때
keycloak-oidc
를providerId
로 사용합니다. config
속성(authorizationUrl
,tokenUrl
,clientId
,clientSecret
)을 제공합니다.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=keycloak-oidc -s providerId=keycloak-oidc -s enabled=true -s 'config.useJwksUrl="true"' -s config.authorizationUrl=http://localhost:8180/auth/realms/demorealm/protocol/openid-connect/auth -s config.tokenUrl=http://localhost:8180/auth/realms/demorealm/protocol/openid-connect/token -s config.clientId=demo-oidc-provider -s config.clientSecret=secret
OpenID Connect ID 공급자 구성
providerId
특성 값을 oid
ccloak OpenID Connect로 설정하는 것을 제외하고 일반 OpenID Connect 공급자를 Keycloak OpenID Connect 공급자를 구성하는 것과 동일한 방식으로 구성합니다.
SAML 2 ID 공급자 구성
-
saml
를providerId
로 사용합니다. -
구성
특성(SingleSignOnServiceUrl
,nameIDPolicyFormat
,signatureAlgorithm
)을 제공합니다.
예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=saml -s providerId=saml -s enabled=true -s 'config.useJwksUrl="true"' -s config.singleSignOnServiceUrl=http://localhost:8180/auth/realms/saml-broker-realm/protocol/saml -s config.nameIDPolicyFormat=urn:oasis:names:tc:SAML:2.0:nameid-format:persistent -s config.signatureAlgorithm=RSA_SHA256
Facebook ID 공급자 구성
-
facebook
을providerId
로 사용합니다. 구성
속성clientId
및clientSecret
을 제공합니다. 이러한 속성은 애플리케이션의 Facebook 개발자 애플리케이션 구성 페이지에서 확인할 수 있습니다. 자세한 내용은 facebook ID 브로커 페이지를 참조하십시오.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=facebook -s providerId=facebook -s enabled=true -s 'config.useJwksUrl="true"' -s config.clientId=FACEBOOK_CLIENT_ID -s config.clientSecret=FACEBOOK_CLIENT_SECRET
Google ID 공급자 구성
-
google
를providerId
로 사용합니다. 구성
속성clientId
및clientSecret
을 제공합니다. 이러한 속성은 애플리케이션의 Google 개발자 애플리케이션 구성 페이지에서 확인할 수 있습니다. 자세한 내용은 Google ID 브로커 페이지를 참조하십시오.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=google -s providerId=google -s enabled=true -s 'config.useJwksUrl="true"' -s config.clientId=GOOGLE_CLIENT_ID -s config.clientSecret=GOOGLE_CLIENT_SECRET
Thunderbird ID 공급자 구성
-
providerId
로twitter
를 사용합니다. 구성
속성clientId
및clientSecret
을 제공합니다. 이러한 속성은 사용자의 애플리케이션에 대한 Thunderbird 애플리케이션 관리 애플리케이션 구성 페이지에서 확인할 수 있습니다. 자세한 내용은 Thunderbird ID 브로커 페이지를 참조하십시오.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=google -s providerId=google -s enabled=true -s 'config.useJwksUrl="true"' -s config.clientId=TWITTER_API_KEY -s config.clientSecret=TWITTER_API_SECRET
GitHub ID 공급자 구성
-
github
를providerId
로 사용합니다. 구성
속성clientId
및clientSecret
을 제공합니다. 애플리케이션의 GitHub Developer Application Settings 페이지에서 이러한 속성을 찾을 수 있습니다. 자세한 내용은 GitHub ID 브로커 페이지를 참조하십시오.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=github -s providerId=github -s enabled=true -s 'config.useJwksUrl="true"' -s config.clientId=GITHUB_CLIENT_ID -s config.clientSecret=GITHUB_CLIENT_SECRET
iPXE ID 공급자 구성
-
linkedin
을providerId
로 사용합니다. 구성
속성clientId
및clientSecret
을 제공합니다. 이러한 속성은 사용자의 애플리케이션에 대한 TriggerBinding 개발자 콘솔 애플리케이션 페이지에서 찾을 수 있습니다. 자세한 내용은 iPXE ID 브로커 페이지를 참조하십시오.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=linkedin -s providerId=linkedin -s enabled=true -s 'config.useJwksUrl="true"' -s config.clientId=LINKEDIN_CLIENT_ID -s config.clientSecret=LINKEDIN_CLIENT_SECRET
Microsoft Live ID 공급자 구성
-
provider
로 10.0.0.1을 사용합니다.Id
구성
속성clientId
및clientSecret
을 제공합니다. 이러한 속성은 애플리케이션의 Microsoft 애플리케이션 등록 포털 페이지에서 확인할 수 있습니다. 자세한 내용은 Microsoft ID 브로커 페이지를 참조하십시오.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=microsoft -s providerId=microsoft -s enabled=true -s 'config.useJwksUrl="true"' -s config.clientId=MICROSOFT_APP_ID -s config.clientSecret=MICROSOFT_PASSWORD
Stack Overflow ID 공급자 구성
-
stackoverflow
명령을providerId
로 사용합니다. 구성
속성clientId
,clientSecret
,key
를 제공합니다. 애플리케이션의 Stack Apps OAuth 페이지에서 이러한 속성을 찾을 수 있습니다. 자세한 내용은 Stack Overflow ID 브로커 페이지를 참조하십시오.예를 들면 다음과 같습니다.
$ kcadm.sh create identity-provider/instances -r demorealm -s alias=stackoverflow -s providerId=stackoverflow -s enabled=true -s 'config.useJwksUrl="true"' -s config.clientId=STACKAPPS_CLIENT_ID -s config.clientSecret=STACKAPPS_CLIENT_SECRET -s config.key=STACKAPPS_KEY