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 구성은 몇 가지 주요 작업을 수행합니다.
- KeyCloak을 실행하고 사용자와 함께 사전 정의 된 영역 가져 오기
- 각도 적용을 구축하고 노출시킵니다 ~을 통해 nginx 별도의 도커 컨테이너에
- 달리기 E2E Cypress를 통해 테스트를 실행할 수있는 컨테이너
Dockerized 구성을 실행하려면 기본 프로젝트 디렉토리의 명령 줄을 입력하십시오.
컨테이너 내부에서 사이프러스 테스트를 실행하려면 다음 명령을 사용하십시오.
docker container exec -ti e2e bash
그런 다음 컨테이너 내부에서 실행하십시오.
테스트 아티팩트는 볼륨을 통해 호스트 머신에 연결되므로 테스트 보고서, 스크린 샷 및 비디오는 즉시 경로에서 사용할 수 있습니다. /e2e/cypress/ 다음 폴더에서 : 보고서,,, 스크린 샷그리고 비디오.
결론
그리고 그것에 관한 것입니다. 보시다시피 KeyCloak (또는 KeyCloak을 사용하는 각도 앱), Docker 및 Cypress를 통합하는 것은 비교적 간단한 프로세스입니다. 쉽게 배포, 스케일링 및 효율적인 종속성 관리를 위해 일관된 컨테이너화 된 환경을 얻기 위해 취해야 할 몇 가지 단계 만 있습니다. 최고 보안을위한 Cypress 덕분에 실제 사용자 로그인 시나리오 시뮬레이션의 추가 이점이 있습니다.
Post Comment