18.11. ID 공급자 작업
사용 가능한 ID 공급자 나열
serverinfo 끝점을 사용하여 사용 가능한 ID 공급자를 나열합니다.
예를 들면 다음과 같습니다.
kcadm.sh get serverinfo -r demorealm --fields 'identityProviders(*)'
$ 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
$ 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
$ kcadm.sh get identity-provider/instances/facebook -r demorealm
구성된 특정 ID 공급자 제거
구성된 특정 ID 공급자를 제거하기 위해 사용하는 것과 동일한 끝점 URI와 함께 delete 명령을 사용합니다.
예를 들면 다음과 같습니다.
kcadm.sh delete identity-provider/instances/facebook -r demorealm
$ 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
$ 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=secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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
$ 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_SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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_SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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_SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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_SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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_SECRETCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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_PASSWORDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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_KEYCopy to Clipboard Copied! Toggle word wrap Toggle overflow