2장. 관리 REST API
Red Hat Single Sign-On에는 완전히 작동하는 관리 REST API와 관리 콘솔에서 제공하는 모든 기능이 함께 제공됩니다.
API를 호출하려면 적절한 권한이 있는 액세스 토큰을 가져와야 합니다. 필요한 권한은 서버 관리 가이드에 설명되어 있습니다.
Red Hat Single Sign-On을 사용하여 애플리케이션에 대한 인증을 활성화하여 토큰을 가져올 수 있습니다. 보안 애플리케이션 및 서비스 가이드를 참조하십시오. 직접 액세스 부여를 사용하여 액세스 토큰을 가져올 수도 있습니다.
2.1. CURL 사용 예
2.1.1. 사용자 이름과 암호를 사용하여 인증
절차
사용자 이름
admin
및 암호암호
를 사용하여 영역마스터
에서 사용자의 액세스 토큰을 확보합니다.curl \ -d "client_id=admin-cli" \ -d "username=admin" \ -d "password=password" \ -d "grant_type=password" \ "http://localhost:8080/auth/realms/master/protocol/openid-connect/token"
참고기본적으로 이 토큰은 1분 후에 만료됩니다.
결과는 JSON 문서가 됩니다.
-
access_token
속성의 값을 추출하여 필요한 API를 호출합니다. API에 대한 요청의
Authorization
헤더에 값을 포함하여 API를 호출합니다.다음 예제에서는 마스터 영역의 세부 정보를 가져오는 방법을 보여줍니다.
curl \ -H "Authorization: bearer eyJhbGciOiJSUz..." \ "http://localhost:8080/auth/admin/realms/master"
2.1.2. 서비스 계정으로 인증
client_id
및 client_secret
을 사용하여 Admin REST API에 대해 인증하려면 다음 절차를 수행합니다.
절차
클라이언트가 다음과 같이 구성되었는지 확인합니다.
-
client_id
는 영역 마스터에 속하는 기밀 클라이언트입니다. -
client_id
에서비스 계정 활성화
옵션이 활성화되어 있습니다. client_id
에는 사용자 정의 "Audience" 매퍼가 있습니다.-
포함된 ClientECDHE:
security-admin-console
-
포함된 ClientECDHE:
-
-
client_id
에 "Service Account Roles" 탭에 할당된 'admin' 역할이 있는지 확인합니다.
curl \ -d "client_id=<YOUR_CLIENT_ID>" \ -d "client_secret=<YOUR_CLIENT_SECRET>" \ -d "grant_type=client_credentials" \ "http://localhost:8080/auth/realms/master/protocol/openid-connect/token"