2025. 6. 17. 22:03ㆍ업무/아키텍처
KeyCloak 를 다운로드 받아서 window 에 설치해 보자.
23/07/24 기준 최신버전 링크주소 : https://github.com/keycloak/keycloak/releases/download/22.0.1/keycloak-22.0.1.zip
소스도 확인 해보자. : https://github.com/keycloak/keycloak
GitHub - keycloak/keycloak: Open Source Identity and Access Management For Modern Applications and Services
Open Source Identity and Access Management For Modern Applications and Services - keycloak/keycloak
github.com
- 파일 압축을 푼다.
- conf 디렉토리 keycloak.conf db 설정을 변경한다.
- db 설정을 변경하지 않고 kc.bat start-dev 로 실행 하면 h2 db 에 저장된다.
- production 모드로 바로 진입해서 postgres keycloak db 생성 후 다음과 같이 설정을 변경하고 kc.bat start-dev 를 실행한다.
# The database vendor.
db=postgres
# The username of the database user.
db-username=postgres
# The password of the database user.
db-password=password
# The full database JDBC URL. If not provided, a default URL is set based on the selected database vendor.
db-url=jdbc:postgresql://localhost/keycloak
- 기본 포트는 8080 포트로 실행된다. 포트를 변경하고 싶으면 help 명령어로 kc.bat --help port 변경 파라미터 찾아보자
- 8080 포트 열어보면 초기 관리자 아이디 비밀번호 설정을 할 수 있다.
- 기본 realm 은 master 로 되어있다. 추가로 realm 을 생성해서 설정을 해보자.
- 웹으로 외부에서 접근할려면 설정이 필요하다.
./kcadm.bat config credentials \
--server http://localhost:8080 \
--realm master \ \
--user user \
--password password
- OIDC 의 역활에 대하여 알아보자.
- Authorization Server : Keycloak (발행, 초기화, 엑세스 토큰 발행)
- User : Resource Owner (클라이언트 웹을 통하여 Authorization Server 에 로그인하는 인간)
- Client : Application (web, app, gateway service)
- Resource Server : Application (micro service, domain service)
- Oauth2 Client 가 받는 것은 ID Token 과 Access Token 을 받는다.
- ID Token 은 Authentication event 와 인증받은 사용자에 관한 정보를 나타낸다.
- Access Token 은 Oauth2 Resource Server 로 부터 보호된 access data 정보를 나타낸다. (Authorization Http Header)
- Tonken relay 패턴은 client application 에서는 저장만하고 보호된 endpoint downstream 을 통해 Resource Server 에 보내는 것을 말한다.
- Spring Cloud Gateway 에 build-in filter 를 지원하고 있다.
cloud:
gateway:
httpclient:
connect-timeout: 2000
response-timeout: 5s
pool:
type: elastic
max-idle-time: 15s
max-life-time: 60s
default-filters:
- SaveSession
- TokenRelay
참고 사이트 :
https://velog.io/@ashappyasikonw/KEYCLOAK <설치 방법 설명>
KEYCLOAK 서버 설치 및 계정 생성
OAuth2.0 - KEYCLOAK 설치 및 계정 생성
velog.io
https://velog.io/@juhyeon1114/Keycloak-Authorization-code-%EC%9D%B8%EC%A6%9D-%ED%9D%90%EB%A6%84 < 프로세스 흐름>
[Keycloak] Authorization code방식의 인증 흐름
Keycloak의 엔드포인트를 활용해서 Authorization code방식으로 로그인하기 🔥
velog.io
'업무 > 아키텍처' 카테고리의 다른 글
| Jhipster 가 적용할 만한 가? (4) | 2025.06.18 |
|---|---|
| Quarkus 는 사용할만한가? (0) | 2025.06.17 |