Keycloak 및 Docker Integration : 단계별 자습서

Keycloak 및 Docker Integration : 단계별 자습서

KeyCloak은 역할 및 하위 그룹, 고급 비밀번호 정책 및 단일 사인온과 같은 유용한 기능을 많이 제공하는 강력한 인증 및 인증 솔루션입니다.. 또한 다른 솔루션과 통합하기가 매우 쉽습니다.

KeyCloak을 Angular 앱에 연결하는 방법을 이미 보여 주었지만 더 많은 것을 할 수 있습니다. 예를 들어,이 기술을 Cypress와 통합하면 다중 인증 인증 및 소셜 로그인을 포함한 실제 사용자 로그인 시나리오를 시뮬레이션 할 수있어 보안 프로토콜이 예상대로 올바르게 구현되고 작동 할 수 있습니다.

가장 중요한 것은 Docker 컨테이너를 사용하여 다양한 플랫폼에서 휴대용 및 일관된 환경 (컨테이너 이미지 스캔, 보안 향상)을 제공 할 수 있습니다. 이 통합은 응용 프로그램 및 서비스 보안 프로세스를 간소화하여 쉽게 배포, 확장 성 및 효율적인 종속성 관리를 보장합니다. 또한 Docker Compose를 사용하여 여러 컨테이너를 조정하고 복잡한 구성을 단순화하고 키 클로크 인스턴스의 전반적인 관리를 향상시킬 수 있습니다.

이 안내서는이 모든 것을 설정하는 방법을 정확하게 보여줍니다. 시작합시다!

전제 조건

이 기사는 여러 요소로 구성된 Github 저장소의 내용을 기반으로합니다.

  • 각도로 작성된 프론트 엔드 응용 프로그램
  • 키 클로크 구성
  • Cypress로 작성된 E2E 테스트
  • 전체 스택에 대한 도커 구성

이 기술 스택의 요점은 사용자가 Angular/Keycloak/Cypress와 함께 로컬 및 Docker 컨테이너로 작업 할 수 있도록하는 것입니다.

키 클로크 구성

키 클로크 구성

우리는 두 구성의 중요한 부분 인 KeyCloak을 설정하는 것으로 시작합니다. 아이디어는 Docker 컨테이너 내부에서 실행하고 노출시키는 것입니다. http : // localhost : 8080. KeyCloak은 사용자, 영역 및 클라이언트 ID를 포함하여 사전 정의 된 구성을 가지고 있으므로이 프로젝트를 위해 설정하려면 최소한의 노력이 필요합니다.

일반 사용자

KeyCloak 패널의 일반 사용자는 다음 세부 사항을 사용하여 구성해야합니다.

  • 사용자: 시험
  • 비밀번호: sijkqg73mtfortu9utu

키 클로크 관리자

관리자 사용자의 기본 구성은 다음과 같습니다 (물론 실제 시나리오에서 관리자 계정에 기본 설정을 사용해서는 안됩니다).

  • 사용자: 관리자
  • 비밀번호: 관리자

로컬 구성

이 구성을 사용하면 E2E 테스트와 함께 DEV 모드의 각도 응용 프로그램으로 로컬로 작업 할 수 있습니다. KeyCloak을 실행하고 사용할 수 있어야합니다 http : // localhost : 8080. 이것은 Docker 구성에 설정되어 있으며 여기에서 부분적으로 사용됩니다. 구성을 로컬로 실행하려면 명령 줄에서 다음 명령을 사용하십시오.

먼저, 기본 프로젝트 디렉토리에서 :

안에 /E2E 예배 규칙서:

프론트 엔드 애플리케이션 개발의 기본 디렉토리에서 :

안에 /E2E 예배 규칙서:

기본 프로젝트 디렉토리에서 :

docker-compose up -d keycloak

도커 구성

Docker를 설치하고 구성하는 것은 비교적 간단한 문제입니다. 솔루션은 문제가 발생하면 사용할 수있는 자세한 문서를 제공합니다.

우리 프로젝트의 맥락에서 Docker 구성은 몇 가지 주요 작업을 수행합니다.

  1. KeyCloak을 실행하고 사용자와 함께 사전 정의 된 영역 가져 오기
  2. 각도 적용을 구축하고 노출시킵니다 ~을 통해 nginx 별도의 도커 컨테이너에
  3. 달리기 E2E Cypress를 통해 테스트를 실행할 수있는 컨테이너

Dockerized 구성을 실행하려면 기본 프로젝트 디렉토리의 명령 줄을 입력하십시오.

컨테이너 내부에서 사이프러스 테스트를 실행하려면 다음 명령을 사용하십시오.

docker container exec -ti e2e bash

그런 다음 컨테이너 내부에서 실행하십시오.

테스트 아티팩트는 볼륨을 통해 호스트 머신에 연결되므로 테스트 보고서, 스크린 샷 및 비디오는 즉시 경로에서 사용할 수 있습니다. /e2e/cypress/ 다음 폴더에서 : 보고서,,, 스크린 샷그리고 비디오.

결론

그리고 그것에 관한 것입니다. 보시다시피 KeyCloak (또는 KeyCloak을 사용하는 각도 앱), Docker 및 Cypress를 통합하는 것은 비교적 간단한 프로세스입니다. 쉽게 배포, 스케일링 및 효율적인 종속성 관리를 위해 일관된 컨테이너화 된 환경을 얻기 위해 취해야 할 몇 가지 단계 만 있습니다. 최고 보안을위한 Cypress 덕분에 실제 사용자 로그인 시나리오 시뮬레이션의 추가 이점이 있습니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다