- 소개
- 사용방법
- 맞춤화
- 지원되는 API
- 공격 탐지
- 인증 관리
- 클라이언트 속성 인증서
- 클라이언트 초기 액세스
- 클라이언트 등록 정책
- 클라이언트 역할 매핑
- 클라이언트 범위
- 클라이언트
- 요소
- 여러 떼
- ID 제공자
- 열쇠
- 프로토콜 매퍼
- 영역 관리자
- 역할 매퍼
- 역할
- 역할(ID별)
- 범위 매핑
- 사용자 스토리지 제공자
- 사용자
- 뿌리
소개
이것은 두통 없이 keycloak 관리자 나머지 API에 연결하는 PHP 클라이언트입니다.
특징:
- 사용하기 쉬움
- 토큰을 얻거나 생성할 필요가 없습니다. 이미 클라이언트에서 처리되었습니다.
- 기본 URI 이외의 URL을 지정할 필요가 없습니다.
- 예상대로 json에 대한 인코딩/디코딩 없음 데이터만 있음
Keycloak 7.0+ 관리 REST API와 함께 작동합니다.
https://www.keycloak.org/documentation -> "관리 REST API"
사용방법
1. 새 클라이언트 생성
$ client = Keycloak Admin KeycloakClient:: factory ([
' realm ' => ' master ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
' client_id ' => ' admin-cli ' ,
' baseUri ' => ' http://127.0.0.1:8180 ' ,
]);
버전 0.30부터 Keycloak 기본 URL이 auth/
로 시작하는 경우 baseUri
에 추가하세요(예: http://127.0.0.1:8180/auth/). Keycloak 버전 7~16의 기본 URL에는 체계적으로 auth/
있습니다. Keycloak 17+에서는 설정에 따라 다릅니다.
2. 사용해 보세요
$ client -> getUsers ();
//Result
// Array of users
/*
[
[
"id" => "39839a9b-de08-4d2c-b91a-a6ce2595b1f3",
"createdTimestamp" => 1571663375749,
"username" => "admin",
"enabled" => true,
"totp" => false,
"emailVerified" => false,
"disableableCredentialTypes" => [
"password",
],
"requiredActions" => [],
"notBefore" => 0,
"access" => [
"manageGroupMembership" => true,
"view" => true,
"mapRoles" => true,
"impersonate" => true,
"manage" => true,
],
],
]
*/
$ client -> createUser ([
' username ' => ' test ' ,
' email ' => ' [email protected] ' ,
' enabled ' => true ,
' credentials ' => [
[
' type ' => ' password ' ,
' value ' => ' 1234 ' ,
],
],
]);
맞춤화
지원되는 자격 증명
keycloak 클라이언트의 구성을 변경하여 인증에 사용되는 자격 증명 유형을 변경할 수 있습니다.
현재 다음 자격 증명이 지원됩니다.
- 기본적으로 사용되는 비밀번호 자격 증명
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' password ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
]);
- 클라이언트 자격 증명
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' client_credentials ' ,
' client_id ' => ' admin-cli ' ,
' client_secret ' => ' 84ab3d98-a0c3-44c7-b532-306f222ce1ff ' ,
]);
미들웨어 주입
middlewares
키워드를 사용하여 keycloak 클라이언트 구성에 Guzzle 클라이언트 미들웨어를 삽입할 수 있습니다.
예를 들어:
use GuzzleHttp Middleware ;
use Psr Http Message RequestInterface ;
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' middlewares ' => [
// throws exceptions when request fails
Middleware:: httpErrors (),
// other custom middlewares
Middleware:: mapRequest ( function ( RequestInterface $ request ) {
return $ request ;
}),
],
]);
토큰 저장 및 저장 방법 변경
기본적으로 토큰은 런타임에 저장됩니다. 이는 새 클라이언트를 생성할 때 이전 토큰이 사용되지 않음을 의미합니다.
토큰 저장 및 검색 방법을 설명하는 인터페이스인 자체 TokenStorage
구현하여 클라이언트 구성에 토큰이 저장되는 방법을 사용자 정의할 수 있습니다.
class CustomTokenStorage implements TokenStorage
{
public function getToken ()
{
// TODO
}
public function saveToken ( array $ token )
{
// TODO
}
}
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' token_storage ' => new CustomTokenStorage (),
]);
사용자 정의 Keycloak 엔드포인트
custom_operations
키워드를 사용하여 keycloak 클라이언트 구성에 Guzzle 서비스 작업을 삽입할 수 있습니다. 이렇게 하면 사용자 지정을 통해 기본 제공 지원 엔드포인트를 확장할 수 있습니다.
$ client = KeycloakClient:: factory ([
...
' custom_operations ' => [
' getUsersByAttribute ' => [
' uri ' => ' /auth/realms/{realm}/userapi-rest/users/search-by-attr ' ,
' description ' => ' Get users by attribute Returns a list of users, filtered according to query parameters ' ,
' httpMethod ' => ' GET ' ,
' parameters ' => [
' realm ' => [
' location ' => ' uri ' ,
' description ' => ' The Realm name ' ,
' type ' => ' string ' ,
' required ' => true ,
],
' attr ' => [
' location ' => ' query ' ,
' type ' => ' string ' ,
' required ' => true ,
],
' value ' => [
' location ' => ' query ' ,
' type ' => ' string ' ,
' required ' => true ,
],
],
],
]
]);
지원되는 API
공격 탐지
API | 기능 이름 | 지원됨 |
---|
모든 사용자의 사용자 로그인 실패를 삭제합니다. 일시적으로 비활성화된 사용자를 해제할 수 있습니다. | ClearAll로그인 실패 | ✔️ |
무차별 대입 탐지에서 사용자 이름 상태 가져오기 | getBruteForceUserStatus | ✔️ |
사용자의 모든 사용자 로그인 실패를 삭제합니다. 일시적으로 비활성화된 사용자를 해제할 수 있습니다. | ClearUser로그인 실패 | ✔️ |
인증 관리
API | 기능 이름 | 지원됨 |
---|
인증 공급자 가져오기 인증 공급자 목록을 반환합니다. | getAuthenticator공급자 | ✔️ |
클라이언트 인증 공급자 가져오기 클라이언트 인증 공급자 목록을 반환합니다. | getClientAuthenticatorProviders | ✔️ |
인증 공급자의 구성 설명 가져오기 | getAuthenticatorConfigInfo | ✔️ |
인증자 구성 가져오기 | getAuthenticatorConfig | ✔️ |
인증자 구성 업데이트 | 업데이트인증자 구성 | ✔️ |
인증자 구성 삭제 | deleteAuthenticatorConfig | ✔️ |
새로운 인증 실행 추가 | createAuthentication실행 | ✔️ |
단일 실행 가져오기 | getAuthentication실행 | ✔️ |
실행 삭제 | 삭제인증실행 | ✔️ |
새로운 구성으로 실행 업데이트 | 업데이트인증실행 | ✔️ |
낮은 실행 우선순위 | lowerAuthenticationExecutionPriority | ✔️ |
실행 우선순위 높이기 | raiseAuthenticationExecutionPriority | ✔️ |
새 인증 흐름 만들기 | createAuthentication흐름 | ✔️ |
인증 흐름 가져오기 인증 흐름 목록을 반환합니다. | getAuthenticationFlows | ✔️ |
새 이름으로 기존 인증 흐름 복사 새 이름은 전달된 JSON 개체의 'newName' 속성으로 제공됩니다. | copy인증흐름 | ✔️ |
흐름에 대한 인증 실행 가져오기 | getAuthenticationFlowExecutions | ✔️ |
흐름에 대한 인증 실행 업데이트 | updateAuthenticationFlowExecutions | ✔️ |
흐름에 새 인증 실행 추가 | createAuthenticationFlowExecution | ✔️ |
기존 흐름에 새로운 실행이 포함된 새 흐름 추가 | addAuthenticationFlowExecution | ✔️ |
ID에 대한 인증 흐름 가져오기 | getAuthenticationFlow | ✔️ |
ID에 대한 인증 흐름 업데이트 | 업데이트인증 흐름 | ✔️ |
인증 흐름 삭제 | 삭제인증흐름 | ✔️ |
양식 작업 공급자 가져오기 양식 작업 공급자 목록을 반환합니다. | getFormActionProviders | ✔️ |
양식 공급자 가져오기 양식 공급자 목록을 반환합니다. | getFormProviders | ✔️ |
모든 클라이언트에 대한 구성 설명 가져오기 | getClientsConfig설명 | ✔️ |
새로운 필수 조치 등록 | createRequiredAction | ✔️ |
필수 작업 가져오기 필수 작업 목록을 반환합니다. | getRequiredActions | ✔️ |
별칭에 필요한 작업 가져오기 | getAlias필수 작업 | ✔️ |
필수 조치 업데이트 | 업데이트필수작업 | ✔️ |
필수 조치 삭제 | 삭제필수작업 | ✔️ |
필요한 작업의 우선순위를 낮추세요 | lower필수작업우선순위 | ✔️ |
필요한 조치의 우선순위 높이기 | raise필수작업우선순위 | ✔️ |
등록되지 않은 필수 동작 가져오기 등록되지 않은 필수 동작 목록을 반환합니다. | getUnregisteredRequiredActions | ✔️ |
클라이언트 속성 인증서
API | 기능 이름 | 지원됨 |
---|
주요 정보 가져오기(attr = "jwt.credential"로 시도) | getClientKey정보 | ✔️ |
개인 키와 공개 인증서가 포함된 클라이언트용 키 저장소 파일을 가져옵니다(참고: 파일에 응답 콘텐츠 쓰기). | getClientKeyStore | ✔️ |
새 키 쌍으로 새 인증서 생성 | 생성클라이언트인증서 | ✔️ |
새 키 쌍과 인증서를 생성하고 개인 키 파일 가져오기 키 쌍과 인증서를 생성하고 지정된 키 저장소 형식으로 개인 키를 제공합니다. | 생성다운로드클라이언트인증서 | ✔️ |
인증서 및 최종 개인 키 업로드 | uploadClientCertificateAndPrivateKey | ✔️ |
개인 키가 아닌 인증서만 업로드 | uploadClientCertificate만 | ✔️ |
클라이언트 초기 액세스
API | 기능 이름 | 지원됨 |
---|
새로운 초기 액세스 토큰을 만듭니다. | createClientInitialAccessToken | ✔️ |
GET /{realm}/clients-initial-access | getClientInitialAccessTokens | ✔️ |
/{영역}/clients-initial-access/{id} 삭제 | deleteClientInitialAccessToken | ✔️ |
클라이언트 등록 정책
API | 기능 이름 | 지원됨 |
---|
configProperties가 올바르게 채워진 검색 공급자의 기본 경로 | getClientRegistrationPolicyProviders | ✔️ |
클라이언트 역할 매핑
API | 기능 이름 | 지원됨 |
---|
그룹 역할 매핑에 클라이언트 수준 역할 추가 | addGroupClientRoleMappings | ✔️ |
그룹 및 앱에 대한 클라이언트 수준 역할 매핑 가져오기 | getGroupClientRoleMappings | ✔️ |
그룹 역할 매핑에서 클라이언트 수준 역할 삭제 | deleteGroupClientRoleMappings | ✔️ |
그룹에 매핑할 수 있는 사용 가능한 클라이언트 수준 역할 가져오기 | getAvailableGroupClientRoleMappings | ✔️ |
효과적인 클라이언트 수준 역할 매핑 가져오기 이는 그룹에 대한 모든 복합 역할을 반복합니다. | getGroupClientRoleMappingsWithComposite | ✔️ |
사용자 역할 매핑에 클라이언트 수준 역할 추가 | addUserClientRoleMappings | ✔️ |
사용자 및 앱에 대한 클라이언트 수준 역할 매핑 가져오기 | getUserClientRoleMappings | ✔️ |
사용자 역할 매핑에서 클라이언트 수준 역할 삭제 | deleteUserClientRoleMappings | ✔️ |
사용자에게 매핑할 수 있는 사용 가능한 클라이언트 수준 역할 가져오기 | getAvailableUserClientRoleMappings | ✔️ |
효과적인 클라이언트 수준 역할 매핑 가져오기 이는 사용자에 대한 모든 복합 역할을 반복합니다. | getUserClientRoleMappingsWithComposite | ✔️ |
클라이언트 범위
API | 기능 이름 | 지원됨 |
---|
새 클라이언트 범위를 만듭니다. 클라이언트 범위의 이름은 고유해야 합니다! | createClientScope | ✔️ |
영역에 속하는 클라이언트 범위 가져오기 영역에 속하는 클라이언트 범위 목록을 반환합니다. | getClientScopes | ✔️ |
클라이언트 범위 표현 가져오기 | getClientScope | ✔️ |
클라이언트 범위 업데이트 | 업데이트클라이언트 범위 | ✔️ |
클라이언트 범위 삭제 | deleteClientScope | ✔️ |
클라이언트
API | 기능 이름 | 지원됨 |
---|
새 클라이언트 만들기 클라이언트의 client_id는 고유해야 합니다! | 클라이언트 생성 | ✔️ |
영역에 속한 클라이언트 가져오기 영역에 속한 클라이언트 목록을 반환합니다. | getClients | ✔️ |
클라이언트의 대표를 얻으십시오 | getClient | ✔️ |
클라이언트 업데이트 | 업데이트클라이언트 | ✔️ |
클라이언트 삭제 | 삭제클라이언트 | ✔️ |
클라이언트에 대한 새 비밀 생성 | 생성클라이언트비밀 | ✔️ |
클라이언트 비밀번호 가져오기 | getClientSecret | ✔️ |
기본 클라이언트 범위를 가져옵니다. | getClientDefaultScopes | ✔️ |
클라이언트 범위를 기본 범위로 설정 | setClientScopeAsDefault | ✔️ |
기본 범위에서 클라이언트 범위 제거 | RemoveClientScopeAsDefault | ✔️ |
예시 액세스 토큰의 페이로드로 JSON 생성 | getClientExampleAccessToken | ✔️ |
특정 클라이언트에 대해 발행된 토큰을 생성할 때 사용되는 모든 프로토콜 매퍼 목록을 반환합니다. | getClientProtocolMappers | ✔️ |
이 클라이언트가 발급된 accessToken에서 사실상 허용되는 특정 역할 컨테이너의 모든 역할에 대한 효과적인 범위 매핑을 가져옵니다. | getClientAllowedRoleMappingsInContainer | ✔️ |
이 클라이언트가 범위를 갖지 않고 그를 위해 발급된 accessToken에 포함할 수 없는 역할을 가져옵니다. | getClientNotAllowedRoleMappingsInContainer | ✔️ |
클라이언트 어댑터 구성 생성은 다음 중 하나를 사용합니다(keycloak-oidc-keycloak-json, keycloak-oidc-jboss-subsystem-cli, keycloak-oidc-jboss-subsystem, keycloak-saml, keycloak-saml-subsystem-cli, keycloak-saml -하위 시스템) | getClientInstallationConfiguration | ✔️ |
클라이언트 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | getClientAuthorizationPermissions상태 | ✔️ |
클라이언트 승인 권한 초기화 및 참조 업데이트 | 업데이트클라이언트인증권한상태 | ✔️ |
클라이언트에 클러스터 노드 등록 클러스터 노드를 이 클라이언트에 수동으로 등록합니다. 일반적으로 어댑터가 Keycloak에 등록 요청을 보내 처리해야 하므로 이를 직접 호출할 필요는 없습니다. | 등록클라이언트클러스터노드 | ✔️ |
클라이언트에서 클러스터 노드 등록 취소 | unregisterClientClusterNode | ✔️ |
애플리케이션 오프라인 세션 수 가져오기 이 클라이언트와 연결된 오프라인 사용자 세션 수를 반환합니다. { "count": number } | getClientOfflineSessionsCount | ✔️ |
클라이언트에 대한 오프라인 세션 가져오기 이 클라이언트와 연결된 오프라인 사용자 세션 목록을 반환합니다. | getClientOfflineSessions | ✔️ |
선택적 클라이언트 범위를 가져옵니다. | getClientOptionalScopes | ✔️ |
클라이언트 선택적 범위 할당 | 할당클라이언트선택적범위 | ✔️ |
클라이언트 선택적 범위 할당 제거 | unsignClientOptionalScope | ✔️ |
클라이언트의 해지 정책을 해당 관리 URL에 푸시합니다. 클라이언트에 관리 URL이 있는 경우 해당 URL에 해지 정책을 푸시합니다. | pushClientRevocationPolicy | ✔️ |
클라이언트에 대한 새 등록 액세스 토큰 생성 | generateClientRegistrationToken | ✔️ |
서비스 계정 전용 사용자 확보 | getServiceAccountDedicatedUser | ✔️ |
애플리케이션 세션 수 가져오기 이 클라이언트와 연결된 사용자 세션 수를 반환합니다. { "count": number } | getClientSessionsCount | ✔️ |
등록된 클러스터 노드가 사용 가능한지 테스트합니다. 모든 클러스터 노드에 'ping' 요청을 보내 가용성을 테스트합니다. | testClientNodes가용성 | ✔️ |
클라이언트에 대한 사용자 세션 가져오기 이 클라이언트와 연결된 사용자 세션 목록을 반환합니다. | getClientSessions | ✔️ |
요소
API | 기능 이름 | 지원됨 |
---|
새 구성 요소 만들기 | createComponent | ✔️ |
구성 요소 가져오기 | getComponents | ✔️ |
구성요소 가져오기 | getComponent | ✔️ |
구성요소 업데이트 | 업데이트구성요소 | ✔️ |
구성요소 삭제 | 삭제구성요소 | ✔️ |
특정 상위 구성 요소에 대해 구성할 수 있는 하위 구성 요소 유형 목록입니다. | getComponentSubTypes | ✔️ |
여러 떼
API | 기능 이름 | 지원됨 |
---|
최상위 영역 groupSet을 생성 또는 추가하거나 하위 항목을 생성합니다. | 그룹 생성 | ✔️ |
그룹 계층 구조를 가져옵니다. | getGroups | ✔️ |
그룹 수를 반환합니다. | getGroupsCount | ✔️ |
그룹 가져오기 | getGroup | ✔️ |
그룹 하위 항목 가져오기(하위 그룹) | getGroupChildren | ✔️ |
그룹 업데이트, 하위 그룹 무시 | 업데이트그룹 | ✔️ |
그룹 삭제 | 그룹 제거 | ✔️ |
하위 항목을 설정하거나 생성합니다. | createChildGroup | ✔️ |
클라이언트 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | getGroupManagementPermissions | ✔️ |
클라이언트 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | 업데이트그룹관리권한 | ✔️ |
사용자 가져오기 쿼리 매개변수에 따라 필터링된 사용자 목록을 반환합니다. | getGroupMembers | ✔️ |
ID 제공자
API | 기능 이름 | 지원됨 |
---|
업로드된 JSON 파일에서 ID 공급자 가져오기 | importIdentityProvider | ✔️ |
새 ID 공급자 만들기 | createIdentityProvider | ✔️ |
ID 공급자 가져오기 | getIdentityProviders | ✔️ |
ID 공급자 가져오기 | getIdentityProvider | ✔️ |
ID 공급자 업데이트 | 업데이트ID 제공자 | ✔️ |
ID 공급자 삭제 | deleteIdentityProvider | ✔️ |
ID 공급자에 대한 공개 브로커 구성 내보내기 | 내보내기IdentityProviderBrokerConfig | ✔️ |
클라이언트 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | getIdentityProviderManagementPermissions | ✔️ |
클라이언트 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | 업데이트IdentityProviderManagementPermissions | ✔️ |
ID 공급자에 대한 매퍼 유형 가져오기(Keycloak은 예외 보고를 제공합니다) | getIdentityProviderMapperTypes | ✔️ |
ID 공급자에 매퍼 추가 | createIdentityProviderMapper | ✔️ |
ID 공급자를 위한 매퍼 가져오기 | getIdentityProviderMappers | ✔️ |
ID 공급자의 ID로 매퍼 가져오기 | getIdentityProviderMapper | ✔️ |
ID 공급자에 대한 매퍼 업데이트(어떤 이유로 작동하지 않으면 Null 포인터 예외가 발생함) | updateIdentityProviderMapper | ✔️ |
ID 공급자에 대한 매퍼 삭제 | deleteIdentityProviderMapper | ✔️ |
ID 공급자 가져오기 | getIdentityProviderById | ✔️ |
열쇠
API | 기능 이름 | 지원됨 |
---|
영역 키 가져오기 | getRealmKeys | ✔️ |
프로토콜 매퍼
참고: ID는 clientScopeId 또는 clientId 및 mapperId로 전송되며 다른 모든 것은 keycloak 문서와 동일합니다.
API | 기능 이름 | 지원됨 |
---|
여러 매퍼 만들기 | createClientScopeProtocolMappers | ✔️ |
매퍼 만들기 | createClientScopeProtocolMapper | ✔️ |
매퍼 가져오기 | getClientScopeProtocolMappers | ✔️ |
ID로 매퍼 가져오기 | getClientScopeProtocolMapperById | ✔️ |
매퍼 업데이트 | updateClientScopeProtocolMapper | ✔️ |
매퍼 삭제 | deleteClientScopeProtocolMapper | ✔️ |
특정 프로토콜에 대한 이름으로 매퍼 가져오기 | getClientScopeProtocolMappersByProtocolName | ✔️ |
여러 매퍼 만들기 | createClientProtocolMappers | ✔️ |
매퍼 만들기 | createClientProtocolMapper | ✔️ |
매퍼 가져오기 | getClientProtocolMappers | ✔️ |
ID로 매퍼 가져오기 | getClientProtocolMapperById | ✔️ |
매퍼 업데이트 | updateClientProtocolMapper | ✔️ |
매퍼 삭제 | deleteClientProtocolMapper | ✔️ |
특정 프로토콜에 대한 이름으로 매퍼 가져오기 | getClientProtocolMappersByProtocolName | ✔️ |
영역 관리자
API | 기능 이름 | 지원됨 |
---|
액세스 가능한 영역 가져오기 액세스 가능한 영역 목록을 반환합니다. 목록은 호출자가 볼 수 있는 영역을 기준으로 필터링됩니다. | getRealms | ✔️ |
영역 가져오기 해당 영역의 전체 표현에서 영역을 가져옵니다. | importRealm | ✔️ |
영역의 최상위 표현을 가져옵니다. 여기에는 사용자 및 클라이언트 표현과 같은 중첩된 정보가 포함되지 않습니다. | getRealm | ✔️ |
영역의 최상위 정보 업데이트 표현의 모든 사용자, 역할 또는 클라이언트 정보는 무시됩니다. | 업데이트 영역 | ✔️ |
영역 삭제 | deleteRealm | ✔️ |
관리 이벤트 가져오기 모든 관리 이벤트를 반환하거나 여기에 나열된 URL 쿼리 매개변수를 기반으로 이벤트를 필터링합니다. | getAdminEvents | ✔️ |
모든 관리자 이벤트 삭제 | deleteAdminEvents | ✔️ |
외부 공개 키 캐시 지우기(클라이언트 또는 ID 공급자의 공개 키) | 클리어외부공개키캐시 | ✔️ |
영역 캐시 지우기 | ClearRealmCache | ✔️ |
사용자 캐시 지우기 | 클리어유저캐시 | ✔️ |
이 영역에서 클라이언트를 가져오기 위한 기본 경로입니다. | import클라이언트 | ✔️ |
클라이언트 세션 통계 가져오기 JSON 맵을 반환합니다. | getClientsSessionStats | ✔️ |
GET /{realm}/credential-regrators | getCredentialRegistrators | ✔️ |
영역 기본 클라이언트 범위를 가져옵니다. | getDefaultClientScopes | ✔️ |
PUT /{영역}/default-default-client-scopes/{clientScopeId} | setScopeAsDefaultClientScope | ✔️ |
삭제 /{영역}/default-default-client-scopes/{clientScopeId} | unsetScopeAsDefaultClientScope | ✔️ |
그룹 계층 구조를 가져옵니다. | getDefaultGroupHierarchy | ✔️ |
PUT /{영역}/default-groups/{groupId} | setGroupAsDefaultGroup | ✔️ |
DELETE /{영역}/default-groups/{groupId} | unsetGroupAsDefaultGroup | ✔️ |
영역 선택적 클라이언트 범위를 가져옵니다. | getOptionalClientScopes | ✔️ |
PUT /{영역}/default-ional-client-scopes/{clientScopeId} | setScopeAsOptionalClientScope | ✔️ |
DELETE /{realm}/default-ional-client-scopes/{clientScopeId} | unsetScopeAsOptionalClientScope | ✔️ |
이벤트 가져오기 모든 이벤트를 반환하거나 여기에 나열된 URL 쿼리 매개변수를 기준으로 필터링합니다. | getAll이벤트 | ✔️ |
모든 일정 삭제 | 모든 이벤트 삭제 | ✔️ |
이벤트 공급자 구성 가져오기 이벤트 공급자 구성이 포함된 JSON 개체를 반환합니다. | getEventsConfig | ✔️ |
이벤트 공급자 업데이트 이벤트 공급자 및/또는 해당 구성 변경 | 업데이트이벤트구성 | ✔️ |
경로로 사용자 그룹 가져오기 | getGroupByPath | ✔️ |
GET /{영역}/현지화 | getLocalizationLocales | ✔️ |
POST /{영역}/localization/{locale} | 업데이트현지화텍스트 | ✔️ |
GET /{영역}/localization/{로케일} | getLocalizationTexts | ✔️ |
삭제 /{영역}/현지화/{로케일} | deleteLocalizationTexts | ✔️ |
GET /{영역}/localization/{로케일}/{키} | getLocalizationText | ✔️ |
PUT /{영역}/localization/{로케일}/{키} | save현지화텍스트 | ✔️ |
모든 사용자 세션을 제거합니다. (Keycloak이 호출되면 예외가 발생합니다.) | 로그아웃모든사용자 | |
기존 영역을 JSON 파일로 부분적으로 내보냅니다. | 부분 내보내기 영역 | ✔️ |
JSON 파일에서 기존 영역으로 부분 가져오기. | 부분 가져오기 영역 | ✔️ |
연관된 관리 URL이 있는 모든 클라이언트에 영역의 해지 정책을 푸시합니다. (Keycloak이 호출되면 예외가 발생합니다.) | pushRevocation정책 | |
특정 사용자 세션을 제거합니다. | 사용자 세션 취소 | ✔️ |
LDAP 연결 테스트 | 테스트LDAP연결 | ✔️ |
현재 로그인된 사용자와의 SMTP 연결 테스트 | testSMTP연결 | ✔️ |
사용자 관리 권한 얻기 | getUserManagementPermissions | ✔️ |
사용자 관리 권한 업데이트 | 업데이트사용자관리권한 | ✔️ |
역할 매퍼
API | 기능 이름 | 지원됨 |
---|
역할 매핑 가져오기 | getGroupRoleMappings | ✔️ |
그룹에 영역 수준 역할 매핑 추가 | addGlobalRolesToGroup | ✔️ |
영역 수준 역할 매핑 가져오기 | getGroupRealmRoleMappings | ✔️ |
영역 수준 역할 매핑 삭제 | deleteGroupRealmRoleMappings | ✔️ |
매핑할 수 있는 영역 수준 역할 가져오기 | getAvailableGroupRealmRoleMappings | ✔️ |
효과적인 영역 수준 역할 매핑 가져오기 결과를 얻기 위해 모든 복합 역할이 반복됩니다. | getEffectiveGroupRealmRoleMappings | ✔️ |
역할 매핑 가져오기 | getUserRoleMappings | ✔️ |
사용자에게 영역 수준 역할 매핑 추가 | addGlobalRolesToUser | ✔️ |
영역 수준 역할 매핑 가져오기 | getUserRealmRoleMappings | ✔️ |
영역 수준 역할 매핑 삭제 | deleteUserRealmRoleMappings | ✔️ |
매핑할 수 있는 영역 수준 역할 가져오기 | getAvailableUserRealmRoleMappings | ✔️ |
효과적인 영역 수준 역할 매핑 가져오기 결과를 얻기 위해 모든 복합 역할이 반복됩니다. | getEffectiveUserRealmRoleMappings | ✔️ |
역할
API | 기능 이름 | 지원됨 |
---|
영역 또는 클라이언트에 대한 새 역할 생성(클라이언트별) | createClientRole | ✔️ |
영역 또는 클라이언트에 대한 모든 역할 가져오기(클라이언트별) | getClientRoles | ✔️ |
이름으로 역할 가져오기(클라이언트별) | getClientRole | ✔️ |
이름으로 역할 업데이트(클라이언트별) | 업데이트클라이언트 역할 | ✔️ |
이름으로 역할 삭제(클라이언트별) | deleteClientRole | ✔️ |
역할에 복합 추가(클라이언트별) | addCompositeRoleToClientRole | ✔️ |
역할 복합 가져오기(클라이언트별) | getClientRoleCompositeRoles | ✔️ |
역할의 복합에서 역할 제거(클라이언트별) | deleteCompositeRoleFromClientRole | ✔️ |
역할의 복합에 대해 지정된 앱에 대한 앱 수준 역할(클라이언트별) | getClientRoleCompositeRolesForClient | ✔️ |
역할 복합의 영역 수준 역할 가져오기(클라이언트별) | getClientRoleCompositeRolesForRealm | ✔️ |
지정된 역할 이름을 가진 그룹 목록 반환(클라이언트별) | getClientRoleGroups | ✔️ |
역할 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체 반환(클라이언트별) | getClientRoleManagementPermissions | ✔️ |
역할 인증 권한이 초기화되었는지 여부와 참조를 나타내는 개체 업데이트(클라이언트별) | 업데이트클라이언트역할관리권한 | ✔️ |
지정된 역할 이름을 가진 사용자 목록 반환(클라이언트별) | getClientRoleUsers | ✔️ |
영역 또는 클라이언트에 대한 새 역할 만들기 | createRealmRole | ✔️ |
영역 또는 클라이언트에 대한 모든 역할 가져오기 | getRealmRoles | ✔️ |
이름으로 역할 가져오기 | getRealmRole | ✔️ |
이름으로 역할 업데이트 | updateRealmRole | ✔️ |
이름으로 역할 삭제 | deleteRealmRole | ✔️ |
역할에 복합 추가 | addCompositeRoleToRealmRole | ✔️ |
역할의 복합물 가져오기 | getRealmRoleCompositeRoles | ✔️ |
역할의 복합에서 역할 제거 | deleteCompositeRoleFromRealmRole | ✔️ |
역할의 복합에 대해 지정된 앱에 대한 앱 수준 역할 | getRealmRoleCompositeRolesForClient | ✔️ |
역할 복합의 영역 수준 역할 가져오기 | getRealmRoleCompositeRolesForRealm | ✔️ |
지정된 역할 이름을 가진 그룹 목록 반환 | getRealmRoleGroups | ✔️ |
역할 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | getRealmRoleManagementPermissions | ✔️ |
역할 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체 업데이트 | 업데이트영역역할관리권한 | ✔️ |
지정된 역할 이름을 가진 사용자 목록 반환 | getRealmRoleUsers | ✔️ |
역할(ID별)
API | 기능 이름 | 지원됨 |
---|
특정 역할의 표현 가져오기 | getRealmRoleById | ✔️ |
역할 업데이트 | updateRealmRoleById | ✔️ |
역할 삭제 | deleteRealmRoleById | ✔️ |
일부 하위 역할을 연결하여 역할을 복합 역할로 만듭니다. | addCompositeRoleToRealmRoleByRoleId | ✔️ |
역할의 하위 가져오기 역할이 복합인 경우 역할의 하위 세트를 반환합니다. | getRealmRoleCompositeRolesByRoleId | ✔️ |
역할의 복합에서 역할 세트 제거 | deleteCompositeRoleFromRealmRoleByRoleId | ✔️ |
역할의 복합에 있는 클라이언트에 대한 클라이언트 수준 역할 가져오기 | getRealmRoleCompositeRolesForClientByRoleId | ✔️ |
역할의 복합에 있는 영역 수준 역할 가져오기 | getRealmRoleCompositeRolesForRealmByRoleId | ✔️ |
역할 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | getRealmRoleManagementPermissionsByRoleId | ✔️ |
역할 인증 권한이 초기화되었는지 여부와 참조를 나타내는 객체를 반환합니다. | updateRealmRoleManagementPermissionsByRoleId | ✔️ |
범위 매핑
API | 기능 이름 | 지원됨 |
---|
클라이언트에 대한 모든 범위 매핑 가져오기 | | |
클라이언트 범위에 클라이언트 수준 역할 추가 | | |
클라이언트 범위와 연관된 역할 가져오기 클라이언트에 대한 역할을 반환합니다. | | |
클라이언트 범위에서 클라이언트 수준 역할을 제거합니다. | | |
사용 가능한 클라이언트 수준 역할은 클라이언트 범위와 연결할 수 있는 클라이언트의 역할을 반환합니다. | | |
유효한 클라이언트 역할 가져오기 클라이언트 범위와 연결된 클라이언트의 역할을 반환합니다. | | |
클라이언트 범위에 영역 수준 역할 세트 추가 | | |
클라이언트 범위와 연관된 영역 수준 역할 가져오기 | | |
클라이언트 범위에서 영역 수준 역할 집합을 제거합니다. | | |
이 클라이언트 범위에 연결할 수 있는 영역 수준 역할을 가져옵니다. | | |
클라이언트 범위와 연관된 효과적인 영역 수준 역할 가져오기 이는 클라이언트 범위와 연관된 모든 복합 역할을 반복하여 이 목록에 역할을 추가하는 것입니다. | | |
클라이언트에 대한 모든 범위 매핑 가져오기 | | |
클라이언트 범위에 클라이언트 수준 역할 추가 | | |
클라이언트 범위와 연결된 역할 가져오기 클라이언트에 대한 역할을 반환합니다. | | |
클라이언트 범위에서 클라이언트 수준 역할을 제거합니다. | | |
사용 가능한 클라이언트 수준 역할은 클라이언트 범위와 연결할 수 있는 클라이언트의 역할을 반환합니다. | | |
유효한 클라이언트 역할 가져오기 클라이언트 범위와 연결된 클라이언트의 역할을 반환합니다. | | |
클라이언트 범위에 영역 수준 역할 세트 추가 | | |
클라이언트 범위와 연관된 영역 수준 역할 가져오기 | | |
클라이언트 범위에서 영역 수준 역할 집합을 제거합니다. | | |
이 클라이언트 범위에 연결할 수 있는 영역 수준 역할을 가져옵니다. | | |
클라이언트 범위와 연관된 효과적인 영역 수준 역할 가져오기 이는 클라이언트 범위와 연관된 모든 복합 역할을 반복하여 이 목록에 역할을 추가하는 것입니다. | | |
사용자 스토리지 제공자
API | 기능 이름 | 지원됨 |
---|
클라이언트 세부 정보 KEYCLOAK-4328을 표시할 때 관리 콘솔에서 공급자의 간단한 이름을 표시하려면 이 정보가 필요합니다. | | |
사용자 세부 정보 KEYCLOAK-4328을 표시할 때 관리 콘솔에서 공급자의 간단한 이름을 표시하려면 이 정보가 필요합니다. | | |
가져온 사용자 제거 | | |
사용자 작업의 트리거 동기화는 "triggerFullSync" 또는 "triggerChangedUsersSync"일 수 있습니다. | | |
스토리지 제공업체에서 가져온 사용자 연결 해제 | | |
LDAP 매퍼(역할, 그룹, …) 방향과 관련된 매퍼 데이터의 트리거 동기화는 "fedToKeycloak" 또는 "keycloakToFed"입니다. | | |
사용자
API | 기능 이름 | 지원됨 |
---|
새 사용자 만들기 사용자 이름은 고유해야 합니다. | 사용자 생성 | ✔️ |
사용자 가져오기 쿼리 매개변수에 따라 필터링된 사용자 목록을 반환합니다. | getUsers | ✔️ |
GET /{영역}/사용자/수 | getUserCount | ✔️ |
사용자의 표현 얻기 | getUser | ️️️✔️ |
사용자 업데이트 | 업데이트사용자 | ️️️✔️ |
사용자 삭제 | 사용자 삭제 | ️️️✔️ |
사용자의 동의를 얻습니다. | | ️✔️ |
사용자의 특정 클라이언트에 대한 동의 및 오프라인 토큰 취소 | | |
특정 유형의 사용자에 대한 모든 자격 증명을 비활성화합니다. | | |
사용자에게 업데이트 계정 이메일 보내기 이메일에는 사용자가 일련의 필수 작업을 수행하기 위해 클릭할 수 있는 링크가 포함되어 있습니다. | 실행작업이메일 | ✔️ |
사용자와 관련된 소셜 로그인 가져오기 | | ✔️ |
사용자에게 소셜 로그인 공급자 추가 | | ✔️ |
사용자에게서 소셜 로그인 공급자 제거 | | ✔️ |
GET /{영역}/users/{id}/groups | getUserGroups | ✔️ |
GET /{영역}/users/{id}/groups/count | getUserGroupsCount | ✔️ |
PUT /{영역}/users/{id}/groups/{groupId} | addUserToGroup | ✔️ |
삭제 /{영역}/users/{id}/groups/{groupId} | deleteUserFromGroup | ✔️ |
사용자를 가장합니다. | 사용자 가장 | ✔️ |
사용자와 관련된 모든 사용자 세션을 제거합니다. 또한 관리 URL이 있는 모든 클라이언트에 알림을 보내 특정 사용자에 대한 세션을 무효화합니다. | 로그아웃사용자 | ✔️ |
사용자 및 클라이언트와 연결된 오프라인 세션 가져오기 | | |
사용자에게서 TOTP 제거 | | |
사용자의 새 비밀번호를 설정하십시오. | 사용자 비밀번호 재설정 | ✔️ |
사용자에게 이메일 확인 이메일 보내기 이메일에는 사용자가 클릭하여 이메일 주소를 확인할 수 있는 링크가 포함되어 있습니다. | 보내기확인이메일 | ✔️ |
사용자와 연결된 세션 가져오기 | getUserSessions | ✔️ |
사용자와 연결된 자격 증명 가져오기 | getUserCredentials | ✔️ |
사용자와 연결된 자격 증명 삭제 | deleteUserCredential | ✔️ |
뿌리
API | 기능 이름 | 지원됨 |
---|
이 서버에서 사용할 수 있는 테마, 소셜 공급자, 인증 공급자 및 이벤트 리스너를 가져옵니다. | | |
CORS 비행 전 | | |