7.3 KiB
title, source_type, url, archive_url, status, confidence, tags, related_projects, related_branches, created, last_reviewed
| title | source_type | url | archive_url | status | confidence | tags | related_projects | related_branches | created | last_reviewed | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Keycloak — Securing Apps Overview | official-doc | https://www.keycloak.org/securing-apps/overview | raw | medium |
|
|
|
2026-05-25 | 2026-05-27 |
Keycloak — Securing Apps Overview
Layer:
raw/official-docs/— Keycloak 공식 Securing Applications and Services 의 overview 페이지 발췌. P2A 의 표준 OIDC library 우선 / adapter 회피 결정의 근거.
Parent / 활용 branch (필수)
| Branch | 이 자료가 정당화하는 결정 |
|---|---|
| raw/branch-notes/feature-keycloak-patterns | Keycloak 통합 시 protocol (OIDC/OAuth2/SAML) 우선, adapter 는 최후 수단이라는 공식 권고 — P-pattern 전반 통합 방식 분류 근거 |
| raw/branch-notes/feature-keycloak-internal-spa-direct-no-google | P2A SPA Direct 에서 keycloak-js 대신 표준 OIDC library 채택 가능성 근거 |
| raw/branch-notes/feature-keycloak-bff-vs-spa-direct | "Keycloak 이 어떤 stack 에든 protocol 만 있으면 통합 가능" 이라는 공식 진술의 출처 |
| raw/branch-notes/feature-keycloak-spring-rs-audience-validator | backend = Resource Server 가 표준 OAuth2 / OIDC library (Spring Security oauth2-resource-server) 로 충분하다는 결정의 출처 |
컨텍스트
P2A 패턴에서 Keycloak이 SPA 와 backend 를 각각 어떻게 다루는지 (protocol 우선 / adapter 는 최후 수단), 그리고 client 등록과 protocol 활성화의 두 단계를 명확히 인용으로 보존. "Keycloak 공식이 권하는 통합 방식" 근거.
출처 / Source
- 원본 URL: https://www.keycloak.org/securing-apps/overview
- 아카이브 URL: (미수집)
- 저자 / 조직: Keycloak (Red Hat) — Securing Applications and Services
- 발행일: rolling docs
- 마지막 확인일: 2026-05-27
- 주의: 메인 latest URL (
/docs/latest/securing_apps/) 이 404 응답. 위 overview 경로로 fallback. 향후 정확한 latest URL 은 Keycloak release notes 에서 재확인 필요.
핵심 인용 / Key quotes (verbatim)
[§Overview — supported protocols] "Keycloak can secure any application and service as long as the technology stack they are using supports any of these protocols"
[§Overview — Keycloak Client Adapters] "Keycloak Client Adapters ... should be used as a last resort if you cannot rely on what is available from the application ecosystem."
[§Overview — two basic steps, needs-confirmation] "두 가지 기본 단계: (1) realm 에 client 등록, (2) 애플리케이션에서 지원되는 protocol 활성화" 는 원본 한국어 paraphrase 로 보존되어 있어 verbatim 영어 원문이 본 raw 의 발췌 범위에 없음. wiki 추출 시 영어 원문 재확보 필요.
Claims Extracted / 추출된 주장
| Claim ID | Claim (이 자료가 직접 말하는 것) | Evidence quote | Strength | Applies to | Does not prove |
|---|---|---|---|---|---|
| KC-SECAPP-C1 | Keycloak 은 사용 중인 technology stack 이 (Keycloak 이 지원하는) protocol 중 하나만 지원하면 어떤 application/service 도 secure 할 수 있다 | [§Overview — supported protocols] "Keycloak can secure any application and service as long as the technology stack they are using supports any of these protocols" | official-vendor-doc |
OIDC / OAuth 2.0 / SAML 2.0 중 하나를 지원하는 모든 stack | 본 인용 자체에는 "OIDC, OAuth 2.0, SAML 2.0" 의 정확한 enumeration 이 포함되지 않음 (overview 페이지 다른 곳에 위치 추정) — protocol 목록은 별도 확인 |
| KC-SECAPP-C2 | Keycloak Client Adapter 는 application ecosystem 에서 표준 library 를 활용할 수 없는 경우의 최후 수단 (last resort) 으로 사용해야 함 | [§Overview — Keycloak Client Adapters] "Keycloak Client Adapters ... should be used as a last resort if you cannot rely on what is available from the application ecosystem." | official-vendor-doc |
Keycloak adapter 도입 결정 (Java / Spring / Node 등) | 어떤 stack 이 "ecosystem 에 의존 가능" 한지의 명시적 기준은 본 인용에 없음 — 판단은 개발자 책임 |
| KC-SECAPP-C3 | "두 가지 기본 단계: realm 에 client 등록 + application 에서 protocol 활성화" 는 본 raw 에 한국어 paraphrase 만 존재 — 영어 원문 verbatim 부재 | (verbatim 부재 — 부재 자체가 claim) | needs-confirmation |
Keycloak 통합 작업 순서 | 해당 단계 구분이 틀렸다는 뜻은 아님. 영어 원문 재확보 후 승격 가능 |
Usage Boundaries / 적용 경계
- 이 자료가 직접 증명하는 것:
KC-SECAPP-C1: protocol 만 있으면 통합 가능하다는 일반 원칙KC-SECAPP-C2: Adapter 는 last resort 라는 공식 권고
- 이 자료가 증명하지 않는 것:
KC-SECAPP-C3: 통합의 정확한 단계 (영어 원문 부재)- 정확한 protocol 목록 (OIDC / OAuth2 / SAML) 의 verbatim enumeration
- PKCE / Direct Access Grants / Standard Flow 등 세부 OIDC 설정 정책 (overview 범위 밖)
- adapter 가 deprecated 인지 / 어떤 버전에서 제거되는지의 정확한 timeline
- 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
- P2A SPA 에 대해
keycloak-jsvs 표준 OIDC library (oidc-client-ts등) 의 실제 trade-off (token 갱신 / silent SSO / logout 동작 차이) - Spring Security oauth2-resource-server 가 Keycloak 의 audience / role claim 을 무리 없이 받는지의 실제 검증
- P2A SPA 에 대해
메모 / Notes
검증되지 않은 내 해석은 여기에 두지 말 것 — wiki source-summary 단계에서.
- P2A 에 적용:
- SPA = public client. Standard Flow Enabled (Authorization Code), Direct Access Grants OFF, PKCE S256 enforced.
- Backend = bearer-only (Keycloak 4.x 이전 명칭) / Service Accounts 미사용. 단순 Resource Server.
- SPA 측 library:
keycloak-jsadapter 또는 표준 OIDC client library (oidc-client-ts). 공식 가이드는 표준 library 우선.
- Adapter 비권장 이유 (해석): Keycloak adapter 는 Keycloak 에 lock-in 되고, 표준 OIDC 가 더 portable. P2A 는 표준 흐름만 사용하므로 adapter 없이 구현 가능.
- 본 URL 은 overview 수준 — 구체적인 PKCE 설정, redirect URI exact match 정책 등은 Server Administration Guide / 별도 챕터에서 확인.
- 2026-05-27 재migration: WebFetch 권한 부재로 라이브 재검증 불가. C1/C2 는 기존 발췌 보존, C3 는
needs-confirmation분리.
Related / 관련
- 같은 주제 다른 official-doc:
- raw/official-docs/keycloak-reverseproxy-official — proxy 환경에서의 hostname / proxy header
- raw/official-docs/keycloak-hostname-configuration — issuer URL 결정
- raw/official-docs/keycloak-server-containers-docker — 운영 모드 / KC_* 환경변수
- 인용하는 branch:
- 인용한 wiki: (미작성)