--- title: official-doc / Keycloak — Identity Provider "Hide on Login Page" Toggle (General Configuration) source_type: official-doc url: https://github.com/keycloak/keycloak/blob/main/docs/documentation/server_admin/topics/identity-broker/configuration.adoc archive_url: https://raw.githubusercontent.com/keycloak/keycloak/main/docs/documentation/server_admin/topics/identity-broker/configuration.adoc related_branches: [feature-keycloak-federation-spa-zero-change] related_projects: [keycloak-patterns] tags: [official-doc, keycloak-patterns, auth, keycloak] created: 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 - 원본 URL: https://github.com/keycloak/keycloak/blob/main/docs/documentation/server_admin/topics/identity-broker/configuration.adoc - 아카이브 URL: https://raw.githubusercontent.com/keycloak/keycloak/main/docs/documentation/server_admin/topics/identity-broker/configuration.adoc - 저자 / 조직: Keycloak project (Red Hat) — `keycloak/keycloak` GitHub repo, Server Administration Guide - 발행일: 확인 불가 (GitHub `main` 브랜치 최신 버전, 특정 릴리스 태그 미고정) - 마지막 확인일: 2026-07-16 ## 왜 저장했는지 / 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에서 참고 가능. ## Related / 관련 - 같은 주제 다른 official-doc: [[raw/official-docs/keycloak-identity-brokering-overview-official]] — Identity Brokering 개요(broker가 인증을 위임하는 개념) - 같은 주제 다른 official-doc: [[raw/official-docs/keycloak-google-idp-setup]] — Google IdP 등록 절차(Client ID/Secret, Redirect URI) - 이 자료를 인용한 wiki 요약: (생성 시) `[[wiki/concepts/...]]`