Magento 2 Keycloak 싱글 사인온(SSO) | Keycloak 자격 증명을 사용한 Magento SSO
회사 개요
키클로크 마젠토 SSO Keycloak을 OAuth 및 OpenID Connect 제공업체로 사용하여 Magento에 안전하고 원활한 로그인을 지원합니다. Keycloak Magento SSO 로그인을 통해 사용자는 Keycloak 로그인 자격 증명을 사용하여 스토어에 액세스할 수 있습니다. 즉, 본 확장 프로그램을 사용하면 Keycloak 사용자가 Keycloak 로그인 자격 증명을 사용하여 Magento 2 스토어에 로그인할 수 있습니다.
Magento 2 Keycloak 로그인 Keycloak Magento SSO 확장 프로그램은 속성 매핑, 역할 매핑, 접근 제어와 같은 고급 기능을 통해 안전한 SSO(싱글 사인온) 통합을 제공합니다. 검증된 사용자만 Magento 사이트에 로그인하거나 회원가입할 수 있도록 하여 사이트 보안을 강화합니다. 간단한 Magento Keycloak SSO 설정 과정을 통해 사용자 인증이 간소화되고 전반적인 접근 관리가 향상됩니다. 아래 가이드를 따라 Keycloak Magento SSO를 손쉽게 설치하고 구성해 보세요.
더 알아보기 Magento OAuth Single Sign-On(OAuth 및 OpenID Connect 클라이언트) 확장 프로그램의 추가 기능에 대한 자세한 내용을 보려면 다음을 참조하십시오.
설치 단계
- 작곡가 사용
- 수동 설치
전제조건 : 다운로드 및 설치
- 우선, Keycloak 다운로드 그것을 설치합니다.
- Keycloak 서버 시작 귀하의 keycloak 버전을 기반으로 합니다. (아래 표 참조)
| Keycloak 버전 16 이하의 경우 |
keycloak의 루트 디렉토리로 이동 큰 상자 독립형.sh |
| Keycloak 버전 17 이상 |
keycloak의 루트 디렉토리로 이동 큰 상자 kc.bat 그리고 아래 명령을 실행하세요.
|
구성 단계
1. miniOrange SSO 확장 프로그램 구성
- miniOrange Magento SSO 확장 프로그램에서 애플리케이션 탭으로 이동하여 선택합니다. OAuth/OpenID그리고 클릭하세요 열쇠망토 응용 프로그램.
- 복사 콜백 URL 확장 프로그램에서 가져온 것입니다. 다음 용도로 필요합니다. 열쇠망토 구성.
2. Magento Keycloak SSO 로그인을 위한 OAuth 제공업체로 Keycloak 설정
Keycloak 버전 선택:
- 영역 추가: 이제 키클로크 관리 콘솔에 로그인하여 원하는 영역으로 이동합니다. 다음을 선택하여 새 영역을 추가할 수 있습니다. 영역 추가 옵션을 선택합니다.
- 영역 생성: 엔터 버튼 영역 이름 나중에 구성하는 데 필요하므로 영역 이름을 쉽게 찾을 수 있도록 보관하세요. 왕국 OAuth 클라이언트 플러그인 아래에서 클릭하세요. 몹시 떠들어 대다 영역을 추가하려면
- OpenID 클라이언트를 생성합니다: 온 클릭 고객사 선택하고 만들 새 클라이언트를 생성합니다. 클라이언트 ID를 입력하고 클라이언트 프로토콜을 선택하세요. openeid-connect 선택 찜하기.
- 액세스 유형 변경: 클라이언트가 생성된 후 액세스 유형을 다음으로 변경합니다. 비밀.
- 유효한 리디렉션 URI를 입력하세요. Magento Keycloak SSO 확장 프로그램에서 콜백 URL을 복사한 다음 클릭하세요.
구하다. 전 -- https://
/oauth/콜백 - 클라이언트 비밀번호 얻기: 이제 클라이언트 비밀을 얻어야 합니다. 그래서 선택 고객사 자격 증명을 선택하고 여기에서 비밀을 복사하세요.
- 플러그인 구성: 복사된 내용을 입력하세요. 고객 비밀 아래에 클라이언트 비밀 OAuth 클라이언트 플러그인의 필드에 다음을 입력합니다. 고객 이름 클라이언트 ID 필드 아래에 있습니다.
- 사용자 추가: 영역의 리소스에 액세스할 수 있는 사용자를 영역에 추가해야 합니다. 다음을 클릭하세요. 사용자 그리고 선택 새 사용자를 추가합니다.
- 사용자 구성: 사용자가 생성된 후에는 다음 작업을 수행해야 합니다.
- 지도 사용자: 사용자를 역할에 매핑해야 합니다. 클릭 역할 매핑 사용 가능한 역할 중에서 사용자가 원하는 역할을 할당하고 추가 선택됨.
- 역할 생성: 역할은 애플리케이션에서 애플리케이션에 액세스할 수 있는 권한이 있는 사용자를 정의하는 데 사용됩니다. 역할 그리고 추가를 선택하세요 직위별.
- 그룹 생성: 온 클릭 그룹 선택하고 새 소식 새 그룹을 만듭니다.
- 사용자를 그룹에 할당: 그룹에 추가하려는 사용자를 선택합니다. 탭에서 그룹 옵션을 선택한 다음 그룹 이름을 선택하고 클릭합니다. 어울리다.
- Keycloak 그룹 매퍼: 이제 그룹 세부 정보를 얻으려면 그룹 멤버십으로 클라이언트 매핑을 수행해야 합니다. 그렇지 않으면 그룹 세부 정보를 가져오지 않습니다. 그래서 클라이언트 섹션, 클라이언트를 선택한 후 다음을 클릭하세요. 매퍼->만들기.
- 이제 선택하십시오. 매퍼 유형 as 그룹 회원 과를 입력 이름 및 토큰 클레임 이름 즉, 페치될 그룹에 해당하는 속성 이름입니다. 전체 그룹 경로, ID 토큰에 추가 및 액세스 토큰에 추가 옵션을 끄고 클릭하세요. 찜하기.
- Keycloak 역할 매퍼: 이제 역할 세부 정보를 얻으려면 역할 멤버십을 사용하여 클라이언트 매핑을 수행해야 합니다. 그렇지 않으면 역할 세부 정보를 가져올 수 없습니다. 따라서 클라이언트 섹션, 클라이언트를 선택한 후 다음을 클릭하세요. 매퍼->만들기.
- 이제 선택하십시오. 매퍼 유형 as 사용자 영역 역할 회원가입하고 들어가세요 name. 그리고 토큰 클레임 이름 즉, 가져올 그룹에 해당하는 속성 이름입니다. ID 토큰에 추가 및 액세스 토큰에 추가 옵션을 클릭하고 찜하기.
- 영역 추가: 이제 키클로크 관리 콘솔에 로그인하여 원하는 영역으로 이동합니다. 다음을 선택하여 새 영역을 추가할 수 있습니다. 영역 생성 옵션을 선택합니다.
- 영역 생성: 엔터 버튼 영역 이름 나중에 구성하는 데 필요하므로 영역 이름을 쉽게 찾을 수 있도록 보관하세요. 왕국 OAuth 클라이언트 플러그인 아래에서 클릭하세요. 몹시 떠들어 대다 영역을 추가하려면
- OpenID 클라이언트를 생성합니다: 온 클릭 고객사 선택하고 클라이언트 생성 새 클라이언트를 생성합니다. 클라이언트 ID를 입력하고 클라이언트 프로토콜을 선택하세요. openeid-connect 그리고 클릭 다음.
- 활성화 클라이언트 인증 권한 부여 비녀장.
- 아래로 스크롤하여 액세스 설정 귀하의 의견을 입력하십시오. 콜백/리디렉션 URL Magento Keycloak SSO 확장 프로그램에서 제공되는 콜백 URL 텍스트 필드.
- 로 이동 신임장 탭에서 고객 비밀 나중에 Magento Keycloak SSO 확장을 구성하는 동안 필요하므로 쉽게 찾을 수 있도록 보관하세요.
- 플러그인 구성: 복사된 내용을 입력하세요. 고객 비밀 아래에 클라이언트 비밀 OAuth 클라이언트 플러그인의 필드에 다음을 입력합니다. 고객 ID 아래 고객 ID 입력란입니다.
- 사용자 추가: realm의 리소스에 액세스할 수 있는 사용자를 realm에 추가해야 합니다. 사용자 그리고 클릭 새 사용자 만들기 새 사용자를 추가하려면
- 사용자 구성: 사용자가 생성된 후에는 다음 작업을 수행해야 합니다.
- 지도 사용자: 사용자를 역할에 매핑해야 합니다. 클릭 역할 매핑 사용 가능한 역할 중에서 사용자가 원하는 역할을 할당합니다.
- 역할 생성: 역할은 애플리케이션에서 애플리케이션에 액세스할 수 있는 권한이 있는 사용자를 정의하는 데 사용됩니다. 역할 선택하고 역할 생성.
- 영역 추가: 이제 키클로크 관리 콘솔에 로그인하여 원하는 영역으로 이동합니다. 다음을 선택하여 새 영역을 추가할 수 있습니다. 영역 생성 옵션을 선택합니다.
- 영역 생성: 엔터 버튼 영역 이름 나중에 구성하는 데 필요하므로 영역 이름을 쉽게 찾을 수 있도록 보관하세요. 왕국 OAuth 클라이언트 플러그인 아래에서 클릭하세요. 몹시 떠들어 대다 영역을 추가하려면
- OpenID 클라이언트를 생성합니다: 온 클릭 고객사 선택하고 클라이언트 생성 새 클라이언트를 생성합니다. 클라이언트 ID를 입력하고 클라이언트 프로토콜을 선택하세요. openeid-connect 그리고 클릭 다음.
- 활성화 클라이언트 인증 권한 부여 비녀장.
- 아래로 스크롤하여 액세스 설정 귀하의 의견을 입력하십시오. 콜백/리디렉션 URL Magento Keycloak SSO 확장 프로그램에서 얻을 수 있습니다. 콜백 URL 텍스트 필드.
- 로 이동 신임장 탭에서 고객 비밀 나중에 Magento Keycloak SSO 확장을 구성하는 동안 필요하므로 쉽게 찾을 수 있도록 보관하세요.
- 플러그인 구성: 복사된 내용을 입력하세요. 고객 비밀 아래에 클라이언트 비밀 OAuth 클라이언트 플러그인의 필드에 다음을 입력합니다. 고객 ID 아래 고객 ID 입력란입니다.
- 사용자 추가: realm의 리소스에 액세스할 수 있는 사용자를 realm에 추가해야 합니다. 사용자 그리고 클릭 새 사용자 만들기 새 사용자를 추가하려면
- 사용자 구성: 사용자가 생성된 후에는 다음 작업을 수행해야 합니다.
- 지도 사용자: 사용자를 역할에 매핑해야 합니다. 클릭 역할 매핑 사용 가능한 역할 중에서 사용자가 원하는 역할을 할당합니다.
- 이제 OAuth 제공자 이름, 고객 ID, 고객 비밀, 범위 그리고 엔드포인트를 제공했습니다.
- 구성 방법은 아래 표를 참조하세요. 범위 및 엔드포인트 Keycloak 버전 18 이상에서 사용 가능합니다.
- 구성 방법은 아래 표를 참조하세요. Keycloak 버전 17 이하에 대한 확장 프로그램의 범위 및 엔드포인트 .
- 온 클릭 찜하기 버튼을 눌러 설정을 저장하십시오.
- 온 클릭 테스트 구성 버튼을 클릭합니다.
- OAuth 제공업체가 Magento로 반환하는 모든 값이 표 형식으로 표시됩니다. 이름, 성, 이메일 또는 사용자 이름에 대한 값이 표시되지 않으면 OAuth 제공업체에서 해당 정보가 반환되도록 설정을 변경하십시오.
- Keycloak 애플리케이션을 찾아서 클릭하세요. 편집 인간을 작업 메뉴.
- 를 클릭하십시오 스토어 구성 인사말 왼쪽 메뉴.
- . 스토어 구성SSO를 활성화할 웹사이트를 선택하고 '이 사이트에 대해 SSO 활성화' 옵션을 선택하세요.
- 로그인 페이지에 SSO 버튼 표시: 선택한 웹사이트의 고객 로그인 페이지에 SSO 버튼을 표시합니다.
- 사용자 자동 생성: SSO 프로세스 중에 고객 사용자가 존재하지 않는 경우 자동으로 생성하는 옵션이 있습니다. 해당 확인란을 선택하면 이 기능이 활성화됩니다.
- 자동 리디렉션 기능: Magento 로그인 페이지 또는 웹사이트의 어느 페이지에서든 사용자를 OAuth 제공업체 로그인 페이지로 자동으로 리디렉션합니다.
- 고객 로그인 페이지로 이동하면 프런트엔드에 SSO 버튼이 표시됩니다. 버튼을 클릭하고 SSO를 테스트해 보세요.
- Magento에 성공적으로 로그인되었습니다.
- 관리자용 SSO를 활성화하세요: 관리자 로그인 페이지에 SSO 버튼을 표시합니다.
- 관리자 SSO 버튼 텍스트: 관리자 로그인 페이지의 SSO 버튼에 표시되는 레이블을 설정합니다(예: Keycloak을 통해 로그인).
- 관리자 사용자 자동 생성: 사용자가 SSO를 통해 처음 로그인할 때 Magento에 관리자 사용자를 자동으로 생성합니다.
- 관리자 페이지에서 자동 리디렉션: 관리자 로그인 페이지에서 관리자 사용자를 OAuth 제공업체 로그인 페이지로 자동으로 리디렉션합니다.
- 백도어 URL: 백도어 URL을 사용하면 계정이 잠긴 경우 기본 관리자 자격 증명을 사용하여 관리자 대시보드에 로그인할 수 있습니다.
- 관리자 로그인 페이지에 접속하면 관리자 페이지에 SSO 버튼이 표시됩니다. 해당 버튼을 클릭하여 관리자 권한으로 SSO를 시작하세요.
- 관리자 계정으로 마젠토에 성공적으로 로그인하면 마젠토 백엔드 대시보드로 이동합니다.
- 고객을 위한 활성화: 이 옵션을 사용하면 고객에게 헤드리스 SSO를 활성화할 수 있습니다.
-
고객 SSO URL: 이 URL은 헤드리스 애플리케이션에서 고객 SSO를 시작하는 데 사용됩니다. 헤드리스 애플리케이션 내에 이 SSO URL을 추가하십시오.
- 예시 형식:
https://<your-magento-domain>/mosso/actions/SendSSORequest?relayState={Store_URL}/headless_store_url/{Headless_URL}&app_name=Keycloak AD - {Store_URL}: Magento 스토어 URL을 입력하세요.
- {Headless_URL}: 고객 토큰을 전송할 헤드리스 애플리케이션의 URL을 입력하세요.
- SSO가 성공적으로 완료되면 고객 토큰이 헤드리스 URL로 전송됩니다.
예 :{Headless_URL}?customer_token=...
- 예시 형식:
- OAuth 토큰:이 옵션을 활성화하면 OAuth 제공업체(Keycloak)의 JWT 토큰이 고객 토큰과 함께 전송됩니다.
- 고객 토큰 만료일: 고객 토큰의 만료 시간(분)을 설정할 수 있습니다.
- 프런트엔드 URL 화이트리스트에 추가: 여기에 고객 토큰을 수신할 수 있는 URL을 추가할 수 있습니다. 고객 토큰은 여기에 허용된 URL로만 전송됩니다.
- 관리자용으로 활성화: 고객과 마찬가지로 이 옵션을 선택하면 관리자에게도 헤드리스 SSO가 활성화됩니다.
- 관리자 SSO URL: 이 URL은 헤드리스 애플리케이션에서 관리자 SSO를 시작합니다.
- 관리자 토큰 만료일: 관리자 토큰의 만료 시간(분)을 설정하세요.
- 프런트엔드 URL 화이트리스트에 추가: 관리자 토큰은 여기에 허용된 URL로만 전송됩니다. 관리자 토큰을 수신하는 모든 URL이 허용된 URL 목록에 포함되어 있는지 확인해야 합니다.
- 로 이동 속성 매핑 고객 속성 매핑을 구성하는 섹션입니다.
- 사용 고객 속성 매핑 선택 확인란 에 대한 옵션 고객 속성 업데이트.
- 다음과 같은 필드를 보게 될 것입니다: 이메일, 이름예산 및 성 고객 속성 매핑 아래에 있습니다.
- 드롭다운 메뉴에서 적절한 옵션을 선택하여 해당 필드를 매핑하세요.
- 속성을 더 추가해야 하는 경우, 을 클릭하세요. + 고객 속성 추가 버튼을 클릭하고 적절한 속성을 선택하세요. 쓰러지 다.
- . 고객 속성 해당 섹션에서 주소 속성 매핑을 활성화하고 선택하십시오. 확인란 업데이트하기 고객 주소 속성.
- 다음과 같은 필드를 볼 수 있습니다. 주소, 우편 번호, City, 주 정부그리고 그 외의 다른 것들 고객 주소 매핑.
- 드롭다운 메뉴에서 적절한 옵션을 선택하여 해당 필드를 매핑하세요.
- 주소 속성을 추가해야 하는 경우, 을 클릭하십시오. + 주소 속성 추가 버튼을 클릭하고 드롭다운 메뉴에서 적절한 속성을 선택하세요.
- . 관리자 속성 매핑 섹션, 활성화 관리자 속성 매핑 선택하고 확인란 업데이트 관리자 속성.
- 다음과 같은 필드를 보게 될 것입니다: 이메일, ID / Username 이름예산 및 성 관리자 속성 매핑 아래에 있습니다.
- 드롭다운 메뉴에서 적절한 옵션을 선택하여 해당 필드를 매핑하세요.
- 속성을 더 추가해야 하는 경우, 을 클릭하세요. + 관리자 속성 추가 버튼을 클릭하고 적절한 속성을 선택하세요. 쓰러지 다.
- Magento는 사이트 소유자가 사이트 내에서 사용자가 할 수 있는 작업과 할 수 없는 작업을 제어할 수 있도록 설계된 역할 개념을 사용합니다. 역할 매핑을 사용하면 OAuth 공급자에서 특정 그룹의 사용자에게 특정 역할을 할당할 수 있습니다.
- 드롭다운 메뉴에서 관리자 및 고객 사용자 모두에 대한 그룹/역할 정보가 포함된 ID 공급자 속성을 선택하십시오.
- 고객 그룹 매핑 설정에서 스토어 관리자는 싱글 사인온(SSO) 중에 ID 공급자(IdP)로부터 받은 그룹 정보를 기반으로 어떤 Magento 고객 그룹을 할당할지 정의할 수 있습니다.
- SSO를 통해 사용자가 로그인할 때마다 Magento에서 고객 그룹을 업데이트하도록 하려면 "SSO 시 프런트엔드 그룹 업데이트" 확인란을 활성화하십시오.
- ID 공급자로부터 그룹 정보가 반환되지 않거나 수신된 그룹이 구성된 매핑과 일치하지 않는 경우, 사용자에게 할당할 Magento 그룹을 선택하려면 기본 그룹 드롭다운 메뉴를 사용하십시오.
- 필요에 따라 해당 Magento 고객 그룹에 대한 ID 공급자 그룹 값을 입력하십시오.
- ID 공급자의 특정 그룹에 속한 사용자는 SSO 중에 매핑된 Magento 그룹에 자동으로 할당됩니다.
- 예: ID 공급자의 그룹 값이 Magento의 '일반' 그룹에 매핑되면, ID 공급자에서 해당 그룹에 속한 모든 사용자는 SSO 시 '일반' 고객 그룹에 할당됩니다.
- SSO를 통해 사용자가 로그인할 때마다 Magento에서 관리자 역할을 업데이트하려면 "SSO 시 백엔드 역할 업데이트" 확인란을 활성화하십시오.
- ID 공급자로부터 그룹 정보가 반환되지 않거나 수신된 그룹이 구성된 매핑과 일치하지 않는 경우, 기본 그룹 드롭다운 메뉴를 사용하여 사용자에게 할당할 Magento 역할을 선택하십시오.
- 필요에 따라 해당 Magento 관리자 역할에 대한 ID 공급자 그룹 값을 입력하십시오.
- ID 공급자의 특정 그룹에 속한 사용자는 SSO 중에 매핑된 Magento 그룹에 자동으로 할당됩니다.
- 예: ID 공급자의 그룹 값이 Magento의 '일반' 그룹에 매핑되면, ID 공급자에서 해당 그룹에 속한 모든 사용자는 SSO 시 '일반 관리자' 역할을 할당받게 됩니다.
- Magento 보안 솔루션
- 싱글 사인온(SSO) 로그인이란 무엇인가요?
- Okta의 OAuth 2.0 및 OpenID Connect 개발자 문서
- Magento OAuth 싱글 사인온(SSO) 플러그인.
- 1) 비밀번호를 설정하고 다음을 클릭합니다. 신임장 사용자의 새 비밀번호를 설정합니다.
참고: 임시 기능을 비활성화하면 사용자 비밀번호가 영구적으로 적용됩니다.
1.1단계: Keycloak 그룹을 가져오는 단계 [프리미엄]
참고: - 전체 경로가 그룹 경로에 있으면 가져오며, 그렇지 않으면 그룹 이름을 가져옵니다.
1.2단계: Keycloak 역할을 가져오는 단계 [프리미엄]
- 1) 비밀번호를 설정하고 다음을 클릭합니다. 신임장 사용자의 새 비밀번호를 설정합니다.
참고: 임시 기능을 비활성화하면 사용자 비밀번호가 영구적으로 적용됩니다.
- 1) 비밀번호를 설정하고 다음을 클릭합니다. 신임장 사용자의 새 비밀번호를 설정합니다.
참고: 임시 기능을 비활성화하면 사용자 비밀번호가 영구적으로 적용됩니다.
결론적으로 성공적으로 구성함으로써 OAuth 공급자로서의 KeycloakMagento Keycloak SSO 로그인 및 인증을 최종 사용자가 Magento에 로그인할 수 있도록 설정했습니다.
3. Magento를 OAuth 클라이언트로 설정
| 범위: | 이메일 프로필 openid |
| 엔드포인트 승인: | /realms/{영역 이름}/protocol/openid-connect/auth |
| 액세스 토큰 엔드포인트: | /realms/{영역 이름}/protocol/openid-connect/token |
| 사용자 정보 가져오기 끝점: | /realms/{영역 이름}/protocol/openid-connect/userinfo |
| 로그아웃 후 사용자 정의 리디렉션 URL:[선택 과목] | https://{키클록 도메인}/영역/{영역 이름}/protocol/openid-connect/logout?post_logout_redirect_uri={리디렉션Uri}&id_token_hint=##id_token## |
| 범위: | 이메일 프로필 openid |
| 엔드포인트 승인: | /auth/realms/{realm-name}/protocol/openid-connect/auth |
| 액세스 토큰 엔드포인트: | /auth/realms/{realm-name}/protocol/openid-connect/token |
| 사용자 정보 가져오기 끝점: | /auth/realms/{realm-name}/protocol/openid-connect/userinfo |
| 로그아웃 후 사용자 정의 리디렉션 URL:[선택 과목] | /auth/realms/{realm-name}/protocol/openid-connect/logout?redirect_uri=RedirectUri |
참고 : 확장 프로그램의 엔터프라이즈 버전에서는 여러 공급자를 설정할 수 있습니다. 다른 공급자를 설정하려면 '공급자 추가' 버튼을 클릭하고 원하는 공급자를 설정하세요. 모든 공급자의 설정 가이드는 다음에서 확인할 수 있습니다. 여기에서 확인하세요.
4. 멀티사이트 설정 (*엔터프라이즈 버전에서 사용 가능)
로그인 설정
5. 관리자 SSO
6. 헤드리스 SSO 설정 (*프리미엄 버전에서만 사용 가능)
7. 속성/사용자 지정 매핑(선택 사항). *이 기능은 프리미엄 기능입니다.
고객 속성 매핑

고객 주소 매핑
관리자 속성 매핑
8. 그룹/역할 매핑(선택 사항). *이 기능은 프리미엄 기능입니다.
고객 그룹 매핑
관리자 역할 매핑
추가 자료
연락처
다음 주소로 문의하십시오. magentosupport@xecurify.com저희 팀은 Magento 2 SSO(OAuth/OIDC) 확장 프로그램 설정을 지원해 드립니다. 또한 고객님의 요구사항에 가장 적합한 솔루션/플랜을 선택하실 수 있도록 도와드립니다.
