Files
llm-wiki/vault/20-evidence/official-docs/keycloak-idp-hide-on-login-page-toggle-official.md
T

10 KiB

title, source_type, url, archive_url, related_branches, related_projects, tags, created
title source_type url archive_url related_branches related_projects tags created
official-doc / Keycloak — Identity Provider "Hide on Login Page" Toggle (General Configuration) official-doc https://github.com/keycloak/keycloak/blob/main/docs/documentation/server_admin/topics/identity-broker/configuration.adoc https://raw.githubusercontent.com/keycloak/keycloak/main/docs/documentation/server_admin/topics/identity-broker/configuration.adoc
feature-keycloak-federation-spa-zero-change
keycloak-patterns
official-doc
keycloak-patterns
auth
keycloak
2026-07-16

official-doc / Keycloak — Identity Provider "Hide on Login Page" Toggle (General Configuration)

Layer: raw/ — 외부 자료(공식 문서)의 원문 발췌·출처 기록.

source_type 허용값

  • official-doc — Keycloak 공식 Server Administration Guide (keycloak/keycloak GitHub repo, docs/documentation/server_admin/)

Parent / 활용 branch (필수, 최소 1개+)

Branch 이 자료가 정당화하는 결정
raw/branch-notes/feature-keycloak-federation-spa-zero-change D1 — Keycloak IdP 설정의 "Hide on Login Page" 토글은 ON일 때만 해당 provider를 로그인 페이지에서 숨긴다(= 켜지 않는 한 로그인 옵션으로 노출). 이 문서는 IdP를 구성(configure)하면 그 provider가 로그인 페이지에 옵션으로 나타난다는 것과, realm의 IdP가 기본적으로 모든 애플리케이션에 활성화된다는 것을 공식적으로 뒷받침한다. D1 Open Risk에 기록된 "Display on login page 토글 인용 부재" 갭을 메우고, ## Claims To Verify 1행("Sign in with Google 버튼 자동 노출")의 공식 근거로 사용한다.

출처 / Source

왜 저장했는지 / Why archived

Keycloak 공식 Server Administration Guide의 "General configuration" 절 — Identity Provider 공통 설정 테이블 중 "Hide on Login Page" 항목의 정확한 원문 정의(ON일 때 동작 + kc_idp_hint 우회 경로)를 확보하기 위해 저장. feature-keycloak-federation-spa-zero-change branch의 D1 Open Risk에서 인용 부재로 남아있던 부분을 공식 문서로 보강한다.

핵심 인용 / Key quotes (verbatim, 4문장)

[§General configuration, .Common Configuration 표] "The foundations of the identity broker configuration are identity providers (IDPs). {project_name} creates identity providers for each realm and enables them for every application by default. Users from a realm can use any of the registered identity providers when signing in to an application." (line 6)

[§General configuration, Procedure 본문] "When you configure an identity provider, the identity provider appears on the {project_name} login page as an option." (line 19)

[§General configuration, .Common Configuration 표 — Hide on Login Page 행] "When ON, {project_name} does not display this provider as a login option on the login page. Clients can request this provider by using the 'kc_idp_hint' parameter in the URL to request a login." (line 44)

[§General configuration, .Common Configuration 표 — Account Linking Only 행] "When ON, {project_name} links existing accounts with this provider. This provider cannot log users in, and {project_name} does not display this provider as an option on the login page." (line 47)

Claims Extracted / 추출된 주장

Claim ID Claim (이 자료가 직접 말하는 것) Evidence quote Strength Applies to Does not prove
KC-HIDELOGIN-C1 Keycloak은 각 realm마다 identity provider를 생성하고 기본적으로 모든 애플리케이션에 대해 활성화하며, realm의 사용자는 등록된 모든 identity provider를 애플리케이션 로그인 시 사용할 수 있다. [§General configuration] "creates identity providers for each realm and enables them for every application by default. Users from a realm can use any of the registered identity providers when signing in to an application." official-vendor-doc 새로 등록된 IdP가 별도 설정 변경 없이 realm 내 모든 client에 기본적으로 이용 가능해짐 "Hide on Login Page" 토글 자체의 기본값(ON/OFF)을 명시적으로 진술하지 않음 — "enables ... by default"는 간접 정황
KC-HIDELOGIN-C2 identity provider를 구성(configure)하면 그 provider가 Keycloak 로그인 페이지에 로그인 옵션으로 나타난다. [§General configuration] "When you configure an identity provider, the identity provider appears on the {project_name} login page as an option." official-vendor-doc Admin Console에서 새 IdP(예: Google)를 등록한 직후의 기본 동작 서술 커스텀 로그인 테마, Post Login Flow, 또는 다른 IdP 설정(Hide/Account Linking)이 이 기본 동작을 덮어쓸 수 있는지의 상세 조건까지는 이 한 문장만으로 보장하지 않음(→ C3에서 override 조건 확인)
KC-HIDELOGIN-C3 "Hide on Login Page"가 ON일 때만 Keycloak이 해당 provider를 로그인 페이지의 로그인 옵션으로 표시하지 않으며, 이 경우에도 클라이언트는 URL의 kc_idp_hint 파라미터로 해당 provider를 요청할 수 있다. [§General configuration, Hide on Login Page 행] "When ON, {project_name} does not display this provider as a login option on the login page. Clients can request this provider by using the 'kc_idp_hint' parameter in the URL to request a login." official-vendor-doc Hide on Login Page 토글의 ON 상태 동작 + kc_idp_hint bypass 메커니즘 존재 여부 이 토글의 신규 IdP 생성 시 초기값(체크박스가 기본 체크/언체크 상태인지)은 원문이 명시적 문장으로 진술하지 않음 — "OFF가 기본"이라는 결론은 C1("enables ... by default")+C2("appears ... as an option")와의 결합 추론이며, 이 표 자체가 default 값을 직접 말하지는 않는다
KC-HIDELOGIN-C4 "Account Linking Only"가 ON이면 해당 provider는 기존 계정 연결에만 쓰이고, 사용자를 로그인시킬 수 없으며 로그인 페이지에 옵션으로 표시되지 않는다. [§General configuration, Account Linking Only 행] "When ON, {project_name} links existing accounts with this provider. This provider cannot log users in, and {project_name} does not display this provider as an option on the login page." official-vendor-doc Hide on Login Page와는 별개인 "Account Linking Only" 토글의 로그인 페이지 노출 억제 대조 사례 Hide on Login Page 자체의 기본값을 증명하지 않음 — 별개 설정 항목

Usage Boundaries / 적용 경계

  • 이 자료가 직접 증명하는 것:
    • KC-HIDELOGIN-C1: realm에 등록된 IdP는 기본적으로 모든 application에서 활성화(enabled)됨.
    • KC-HIDELOGIN-C2: IdP를 구성하면 로그인 페이지에 옵션으로 나타나는 것이 기본 동작으로 서술됨.
    • KC-HIDELOGIN-C3: "Hide on Login Page"=ON일 때 로그인 페이지 노출이 억제되며, kc_idp_hint로 우회 요청 가능.
    • KC-HIDELOGIN-C4: "Account Linking Only"=ON일 때도 로그인 페이지에서 숨겨짐(Hide on Login Page와 별개 토글).
  • 이 자료가 증명하지 않는 것:
    • "Hide on Login Page" 토글의 정확한 기본값(신규 IdP 생성 시 체크박스 초기 상태 ON/OFF)을 명시적 문장으로 진술하지 않는다. C1("enables ... by default")과 C2("appears ... as an option")를 결합하면 "기본적으로 노출된다(=Hide 토글 기본 OFF)"는 강한 정황 증거가 되지만, 이는 결합 추론이지 원문이 "Hide on Login Page 기본값 = OFF"라고 직접 말한 문장은 아니다.
    • Admin Console UI에서 새 IdP 생성 시 이 토글의 실제 체크박스 초기 상태에 대한 스크린샷 수준의 확인은 이 문서만으로 불가능.
    • kc_idp_hint 파라미터 자체의 공식 스펙(허용 값 포맷, 우선순위, 다른 인증 흐름과의 상호작용)은 이 문서가 사용법 한 문장만 언급할 뿐, 별도 문서 확인이 필요.
  • 내 프로젝트에 적용하려면 추가 확인이 필요한 것:
    • 실제 Keycloak 버전(branch의 docker-compose 스택 버전)에서 Google IdP 등록 후 로그인 화면에 "Sign in with Google" 버튼이 실제로 노출되는지 visual verify — branch feature-keycloak-federation-spa-zero-change## Claims To Verify 1행과 동일한 검증 항목.
    • "Hide on Login Page" 체크박스의 Admin Console 실제 초기 상태(신규 IdP 등록 직후) 캡처 — needs-confirmation 그대로 유지.

메모 / Notes

나중에 wiki로 옮길 때 참고할 짧은 메모. 검증되지 않은 내 추론은 여기에 두지 말 것.

  • KC-HIDELOGIN-C1+C2 결합으로 "기본 노출"은 정황상 매우 강하지만, C3가 "Hide 토글 기본값 = OFF"를 직접 진술하지는 않으므로 branch D1 Open Risk를 "공식 인용 부재"에서 "결합 추론 + 실측 검증 대기"로 격하할 것.
  • kc_idp_hint는 이 문서에서 "URL의 파라미터"라고만 언급됨 — 파라미터 자체의 공식 정의(OIDC 확장 여부, 어느 endpoint에 붙는지)는 별도 raw 자료로 추가 조사 필요.
  • 추가로 봐야 할 동일 출처 페이지: 같은 리포의 identity-broker 하위 다른 .adoc 파일들(예: first-broker-login.adoc, mappers.adoc) — Account Linking / First Broker Login 관련 후속 branch에서 참고 가능.