Keycloak을 OAuth/OpenID Connect 공급자로 사용하여 Drupal에 SSO 로그인
회사 개요
Drupal OAuth/OpenID Connect SSO 통합을 통해 Drupal 사이트와 Keycloak 간의 SSO가 가능해졌습니다. 이 설정 가이드는 OAuth/OpenID Connect 모듈을 사용하여 Drupal 사이트와 Keycloak 간에 SSO(Single Sign-On)를 구성하는 데 도움이 됩니다. 통합할 때 OAuth/OpenID 연결 Drupal 사이트와 모듈을 함께 사용하면 Keycloak 자격 증명을 사용하여 Drupal 사이트에 원활하게 로그인할 수 있습니다. 이 모듈은 Drupal 7, Drupal 8, Drupal 9, Drupal 10, Drupal 11과 호환됩니다.
설치 단계
- 이전 버전
- 새 버전
- 작곡가 사용
- Drush 사용
- 수동 설치
- 모듈을 다운로드합니다:
작곡가는 'drupal/miniorange_oauth_client'가 필요합니다.
- 로 이동 하다 Drupal 관리 콘솔의 메뉴에서 다음을 검색하세요. miniOrange OAuth 클라이언트 구성 검색창을 이용하세요.
- 확인란을 선택하여 모듈을 활성화하고 설치 버튼을 클릭합니다.
- 다음 위치에서 모듈을 구성할 수 있습니다.
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
- 모듈 설치:
drush 및 drupal/miniorange_oauth_client
- 캐시 지우기:
드러쉬 cr
- 다음 위치에서 모듈을 구성할 수 있습니다.
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
참고 : 수동 설치는 Drupal 7, Drupal 8, Drupal 9와만 호환됩니다.
- 로 이동 하다 Drupal 관리 콘솔의 메뉴에서 다음을 클릭하세요. 새로운 모듈 설치.
- 드루팔 설치 OAuth 및 OpenID Connect 로그인 - OAuth2 클라이언트 SSO 로그인 모듈을 zip을 다운로드하거나 URL에서 다운로드하여 패키지(tar/zip).
- 를 클릭하십시오 새로 추가된 모듈 활성화.
- 확인란을 선택하여 이 모듈을 활성화하고 다음을 클릭하세요. 설치 버튼을 클릭합니다.
- 다음 위치에서 모듈을 구성할 수 있습니다.
{BaseURL}/admin/config/people/miniorange_oauth_client/config_clc
- 작곡가 사용
- Drush 사용
- 수동 설치
- 모듈을 다운로드합니다:
작곡가는 'drupal/miniorange_oauth_client'가 필요합니다.
- 로 이동 하다 Drupal 관리 콘솔의 메뉴에서 다음을 검색하세요. miniOrange OAuth 클라이언트 구성 검색창을 이용하세요.
- 확인란을 선택하여 모듈을 활성화하고 설치 버튼을 클릭합니다.
- 다음 위치에서 모듈을 구성할 수 있습니다.
{BaseURL}/admin/config/people/mo-oauth-client/mo-client-config
- 모듈 설치:
drush 및 drupal/miniorange_oauth_client
- 캐시 지우기:
드러쉬 cr
- 다음 위치에서 모듈을 구성할 수 있습니다.
{BaseURL}/admin/config/people/mo-oauth-client/mo-client-config
참고 : 수동 설치는 Drupal 7, Drupal 8, Drupal 9와만 호환됩니다.
- 로 이동 하다 Drupal 관리 콘솔의 메뉴에서 다음을 클릭하세요. 새로운 모듈 설치.
- 드루팔 설치 OAuth 및 OpenID Connect 로그인 - OAuth2 클라이언트 SSO 로그인 모듈을 zip을 다운로드하거나 URL에서 다운로드하여 패키지(tar/zip).
- 를 클릭하십시오 새로 추가된 모듈 활성화.
- 확인란을 선택하여 이 모듈을 활성화하고 다음을 클릭하세요. 설치 버튼을 클릭합니다.
- 다음 위치에서 모듈을 구성할 수 있습니다.
{BaseURL}/admin/config/people/mo-oauth-client/mo-client-config
구성 단계
Drupal을 OAuth 클라이언트로 구성
- We Buy Orders 신청서를 클릭하세요. 구성 → 사람들 → miniOrange OAuth 클라이언트 구성 관리 메뉴에서. (/admin/config/people/miniorange_oauth_client)
- OAuth 구성 탭에서 드롭다운에서 원하는 OAuth 공급자를 선택합니다.
참고 : 원하는 OAuth 공급자가 드롭다운에 나열되어 있지 않으면 선택하십시오. 사용자 정의 OAuth 공급자/사용자 정의 OpenID 공급자 계속하십시오.
- 복사 콜백/리디렉션 URL 가까운 곳에 보관하세요. OAuth 공급자를 구성할 때 필요합니다.
- OAuth 공급자 이름을 입력하세요. 표시 이름 텍스트 필드.
참고 : 공급자가 HTTPS 콜백/리디렉션 URL만 지원하고 HTTP 사이트가 있는 경우 탭 하단에 있는 'HTTPS 콜백 URL 적용' 확인란을 활성화하세요.
Drupal을 OAuth 클라이언트로 구성
- We Buy Orders 신청서를 클릭하세요. 구성 → 사람들 → miniOrange OAuth 클라이언트 관리 메뉴에서. (admin/config/people/mo-oauth-client/mo-client-config)
- . 관리 섹션 아래 클라이언트 구성 탭에서 + 새로 추가 원하는 OAuth 클라이언트를 구성하려면 버튼을 클릭하세요.
- 아래의 추가 탭 드롭다운에서 원하는 OAuth 애플리케이션을 선택합니다.
참고 : 원하는 OAuth 공급자가 드롭다운에 나열되어 있지 않으면 선택하십시오. 사용자 정의 OAuth 공급자/사용자 정의 OpenID 공급자 계속하십시오.
- OAuth 공급자 이름을 입력하세요. 맞춤형 앱 이름 텍스트 필드. 복사 콜백/리디렉션 URL 가까운 곳에 보관하세요. OAuth 공급자를 구성할 때 필요합니다.
- 공급자가 HTTPS 콜백/리디렉션 URL만 지원하고 HTTP 사이트가 있는 경우 다음을 확인하십시오. HTTPS 콜백 URL 시행 체크 박스에 설정 탭.
- 버전 21.1.1로 Keycloak 구성
- 버전 18로 Keycloak 구성
- 낮은 버전으로 keycloak 구성
Keycloak에서 OAuth/OpenID Single Sign-On 애플리케이션을 만듭니다.
- 유튜브 계정에 로그인한다 열쇠망토 관리자 콘솔.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 영역 생성 마스터 드롭다운 메뉴에서

- 에 애플리케이션 이름을 입력하세요. 영역 이름 텍스트 필드를 클릭하고 만들기 버튼을 클릭하십시오.
- 로 이동 고객사 -> 클라이언트 목록 -> 클라이언트 생성.
- . 일반 설정, 들어가다 고객 ID. 온 클릭 다음 버튼을 클릭합니다.
- . 기능 구성, 확인란을 활성화합니다. 클라이언트 인증 그리고 클릭하세요 다음 버튼을 클릭합니다.
- . 로그인 설정, 붙여넣기 콜백/리디렉션 URL 으로 유효한 리디렉션 URI 텍스트 필드를 클릭하고 찜하기 버튼을 클릭합니다.
- 로 이동 신임장 탭을 클릭하고 클라이언트 비밀 Drupal을 OAuth 클라이언트로 구성하는 데 편리하게 사용할 수 있습니다.
- Keycloak 관리자 콘솔로 이동합니다.
- 로 이동 영역 설정 → 일반 그리고 복사 영역 ID 복사를 클릭해서 아이콘.
- Keycloak 도메인 URL을 복사하세요. 예를 들어, Keycloak이 로컬호스트에서 실행 중이라면 도메인은 "https://localhost:8080"이 됩니다. (아래 이미지 참조)
Keycloak에서 OAuth/OpenID Single Sign-On 애플리케이션 생성:
- 우선, 키클로크 다운로드 그것을 설치합니다.
- 서버 시작: _standalone.sh_ 파일을 실행하여 keycloak 서버를 시작합니다. keycloak/bin/standalone.sh의 루트 디렉토리
- 영역 생성: 이제 Keycloak 관리 콘솔에 로그인하여 원하는 영역으로 이동합니다. 다음을 선택하여 새 영역을 추가할 수 있습니다. 영역 생성 옵션을 선택합니다.

- 영역 생성: 영역 이름을 입력하고 복사하세요. 나중에 Drupal을 OAuth 클라이언트로 구성해야 하므로 잘 보관하세요. 그런 다음 클릭하세요. 몹시 떠들어 대다 영역을 추가하려면
- 입력 고객 ID 복사하세요. 가까운 곳에 보관하세요. 나중에 Drupal을 OAuth 클라이언트로 구성해야 합니다. 그런 다음 클릭하세요. 찜하기 버튼을 클릭합니다.
- 활성화 클라이언트 인증 그리고 클릭 찜하기 버튼을 클릭합니다.
- 복사한(1단계에서) 콜백 URL을 유효한 리디렉션 URL 텍스트 영역을 클릭하고 찜하기 버튼을 클릭합니다.
- 로 이동 신임장 탭을 클릭하고 클라이언트 비밀번호를 복사하세요.
Keycloak에서 OAuth/OpenID Single Sign-On 애플리케이션 생성:
- 우선, 키클로크 다운로드 그것을 설치합니다.
- 서버 시작: _standalone.sh_ 파일을 실행하여 keycloak 서버를 시작합니다. keycloak/bin/standalone.sh의 루트 디렉토리
- 영역 추가: 이제 Keycloak 관리 콘솔에 로그인하여 원하는 영역으로 이동합니다. 다음을 선택하여 새 영역을 추가할 수 있습니다. 영역 생성 옵션을 선택합니다.

- 영역 생성: 영역 이름을 입력하고 복사하세요. 나중에 Drupal을 OAuth 클라이언트로 구성해야 하므로 잘 보관하세요. 그런 다음 클릭하세요. 몹시 떠들어 대다 영역을 추가하려면
- 이제 표시 이름 저장 버튼을 클릭하세요.
- 로 이동 고객사 탭을 클릭하십시오. 만들기 버튼을 클릭합니다.
- 입력 고객 ID 복사하세요. 가까운 곳에 보관하세요. 나중에 Drupal을 OAuth 클라이언트로 구성해야 합니다. 그런 다음 클릭하세요. 찜하기 버튼을 클릭합니다.
- 아까 복사한 것을 붙여넣으세요 콜백/리디렉션 URL 로 유효한 리디렉션 URL 텍스트 필드를 클릭하고 찜하기 버튼을 클릭합니다.
- 로 이동 신임장 탭을 클릭하고 클라이언트 비밀번호를 복사하세요.
Drupal과 Keycloak 통합:
- miniOrange OAuth 클라이언트 모듈로 이동합니다.
- 드루팔에서는 OAuth 구성 탭 복사한 것을 붙여넣기 고객 ID 고객 비밀 Keyclaok에서 고객 ID 고객 비밀 텍스트 필드.
- 드루팔에서는 OAuth 구성 탭에서 "Keycloak_base_URL"을 복사한 값으로 바꿉니다. 키클로크 도메인 URL 그리고 복사된 Realm 이름과 함께 realm-name을 사용합니다. 엔드포인트 승인, 액세스 토큰 엔드포인트예산 및 사용자 정보 끝점 가져오기 텍스트 필드. 그런 다음 구성 저장 버튼을 클릭하십시오.
Drupal OAuth 클라이언트 모듈의 Configure OAuth 탭에 있는 해당 텍스트 필드에 다음 정보를 입력합니다.
| 범위 | openid 이메일 프로필 |
| 엔드포인트 승인 | (Keycloak 기본 URL)/realms/{realm-name}/protocol/openid-connect/auth |
| 액세스 토큰 엔드포인트 | (Keycloak 기본 URL)/realms/{realm-name}/protocol/openid-connect/token |
| 사용자 정보 끝점 가져오기 | (Keycloak 기본 URL)/realms/{realm-name}/protocol/openid-connect/userinfo |
Drupal과 Keycloak 통합:
- miniOrange OAuth 클라이언트 모듈로 이동합니다.
- In 추가 탭, 복사한 것을 붙여넣습니다 고객 ID 고객 비밀 Keycloak에서 고객 ID 고객 비밀 텍스트 필드.
- 드루팔에서는 OAuth 구성 탭에서 "Keycloak_base_URL"을 복사한 값으로 바꿉니다. 키클로크 도메인 URL 그리고 복사된 Realm 이름과 함께 realm-name을 사용합니다. 엔드포인트 승인, 액세스 토큰 엔드포인트예산 및 사용자 정보 끝점 가져오기 텍스트 필드. 그런 다음 구성 저장 버튼을 클릭하십시오.
Drupal OAuth 클라이언트 모듈의 Configure OAuth 탭에 있는 해당 텍스트 필드에 다음 정보를 입력합니다.
| 범위 | openid 이메일 프로필 |
| 엔드포인트 승인 | (Keycloak 기본 URL)/realms/{realm-name}/protocol/openid-connect/auth |
| 액세스 토큰 엔드포인트 | (Keycloak 기본 URL)/realms/{realm-name}/protocol/openid-connect/token |
| 사용자 정보 끝점 가져오기 | (Keycloak 기본 URL)/realms/{realm-name}/protocol/openid-connect/userinfo |
- The 클라이언트 ID와 비밀번호를 보내세요 체크박스를 사용하면 클라이언트 ID와 비밀번호를 토큰 엔드포인트 요청의 헤더에 포함할지, 본문에 포함할지 지정할 수 있습니다. 어떤 옵션을 선택해야 할지 확실하지 않으면 기본 설정을 그대로 사용할 수 있습니다.
- 확인란을 클릭하면 OAuth로 로그인 활성화을 클릭하고 아래로 스크롤한 후 구성 저장 버튼을 클릭합니다.
Drupal과 OAuth Provider 간 테스트 연결
- 구성을 성공적으로 저장한 후 다음을 클릭하십시오. 테스트 구성 수행 Drupal과 OAuth Provider 간의 연결을 테스트하는 버튼입니다.
- 테스트 구성 팝업에서 동일한 브라우저에 활성 세션이 없는 경우 OAuth 공급자에 로그인하라는 메시지가 표시됩니다. 로그인이 완료되면 OAuth 공급자로부터 수신한 속성 목록이 제공됩니다.
- 선택 이메일 속성 사용자의 이메일 ID를 얻은 드롭다운 메뉴에서 다음을 클릭합니다. 선택한다 버튼을 클릭합니다.
참고 : SSO를 수행하려면 이메일 속성을 매핑해야 합니다. 즉, OAuth 공급자 자격 증명을 사용하여 Drupal 사이트에 로그인해야 합니다.
- 에 속성 및 역할 매핑 탭에서 다음을 선택하세요. 사용자 이름 속성 드롭다운 목록에서 다음을 클릭하세요. 구성 저장 버튼을 클릭합니다.
- 이제 로그아웃하고 Drupal 사이트의 로그인 페이지로 이동하세요. 거기에 OAuth 공급자로 로그인 링크가 자동으로 표시됩니다. 다른 페이지에도 SSO 링크를 추가하려면 아래 이미지에 나와 있는 단계를 따르세요.
Drupal과 OAuth Provider 간 테스트 연결
- 구성을 성공적으로 저장한 후 테스트 구성 수행 Drupal과 OAuth Provider 간의 연결을 테스트하는 버튼입니다.
- 테스트 구성 팝업에서 동일한 브라우저에 활성 세션이 없는 경우 OAuth 공급자에 로그인하라는 메시지가 표시됩니다. 로그인이 완료되면 OAuth 공급자로부터 수신한 속성 목록이 제공됩니다.
- 온 클릭 매핑 구성 버튼을 클릭합니다.
- 에 속성 매핑 탭에서 다음을 선택하세요. 이메일 속성 사용자 이름 속성 드롭다운 목록에서 구성 저장 버튼을 클릭합니다.
참고 : SSO를 수행하려면 이메일 속성을 매핑해야 합니다. 즉, OAuth 공급자 자격 증명을 사용하여 Drupal 사이트에 로그인해야 합니다.
- 이제 로그아웃하고 Drupal 사이트의 로그인 페이지로 이동하세요. 거기에 OAuth 공급자로 로그인 링크가 자동으로 표시됩니다. 다른 페이지에도 SSO 링크를 추가하려면 아래 이미지에 나와 있는 단계를 따르세요.
도움이 필요하다?
구성 중에 문제가 발생하거나 추가 기능을 원하는 경우 다음 주소로 문의해 주세요. drupalsupport@xecurify.com.
추가 기능:
-
속성 매핑 - OAuth 공급자로부터 수신한 사용자 속성을 Drupal 필드와 매핑합니다.
-
역할 매핑 - OAuth 공급자의 역할/속성을 기반으로 사용자에게 Drupal 역할 할당
-
단일 로그아웃 활성화 - Drupal에서 로그아웃할 때 OAuth 공급자(예: AWS Cognito, Azure AD B2C, Keycloak, Okta)에서 사용자를 로그아웃합니다.
-
사이트 전체 또는 사이트의 특정 섹션에 대한 익명 액세스를 제한합니다.
-
여러 OAuth 제공 추가
-
OAuth 클라이언트가 제공하는 모든 기능을 살펴보세요
문제 해결 :
더 많은 FAQ ➔오류 발생: '사용자 이름을 받지 못했습니다. 속성 매핑 구성을 확인하세요.' 또는 오류 발생: '이메일을 받지 못했습니다. 속성 매핑 구성을 확인하세요.'
언급된 단계를 따르세요. 여기를 클릭하십시오.
"헤더 또는 본문에서 클라이언트 자격 증명을 찾을 수 없습니다"라는 메시지가 나타납니다.
테스트 구성을 수행하려고 할 때
언급된 단계를 따르세요. 여기를 클릭하십시오.
Drupal에서 로그아웃을 클릭하면 Drupal 홈페이지로 돌아갑니다. 하지만 다른 사용자로 로그인을 시도하면 로그인을 요청하지 않고 자동으로 같은 사용자로 로그인합니다.
여기서 언급한 로그아웃 기능은 모듈의 기본 동작입니다. Drupal에서 로그아웃하지만 애플리케이션/공급자에서 로그아웃하지는 않습니다. 모듈이 공급자/애플리케이션 계정에서 로그아웃하도록 허용하려면(원하는 대로) 아래 구성을 해야 합니다. [자세한 내용을 알고]
유료 Drupal 모듈을 구매하고 무료 모듈로 교체했지만 여전히 유료 기능을 사용할 수 없습니다.
Drupal 모듈의 유료 버전 중 하나로 업그레이드하고 무료 모듈을 유료 모듈로 교체했으므로 먼저 유료 모듈을 활성화해야 합니다. 아래 단계를 참조하세요. [더 많이 알아라.]
당신의 응답을 주셔서 감사합니다. 곧 다시 연락드리겠습니다.
문제가 발생했습니다. 문의사항을 다시 제출해 주세요.
최대한 빠른 시일 내에 연락드리겠습니다!
24시간 고객문의
miniOrange의 Drupal 개발자는 귀하의 질의에 대해 빠르고 적극적인 지원을 제공합니다. 귀하의 사용 사례에 가장 적합한 솔루션을 선택하도록 도울 수 있습니다.
기타 솔루션
신뢰할 수 있는 고객이 사용하는 인기 있는 솔루션인 2FA, 사용자 프로비저닝, 웹사이트 보안을 포함하여 당사가 제공하는 다른 Drupal 솔루션을 자유롭게 탐색해 보세요.

당사에 문의해 주세요.