Skip to content

Migration · Public Client 지원 추가

logi v0.5 부터 RP 등록 시 client_type 을 선택할 수 있습니다.

기존 RP 영향 — 없음

이미 등록된 모든 RP는 자동으로 client_type=confidential 로 분류되며 동작이 변경되지 않습니다.

항목기존 동작변경 후
client_id그대로그대로
client_secret그대로그대로
Token endpoint 인증HTTP Basic 또는 form body동일
PKCE모든 RP 에 강제 (S256, code_challenge presence 필수)동일 (변경 없음)
Redirect URIexact match동일
Refresh rotation활성동일

logi 의 PKCE 정책

logi 는 모든 RP (confidential 포함) 에 PKCE S256 을 인가 단계부터 강제합니다 (code_challenge 누락 시 거절). 이는 v0.5 이전부터의 기존 동작이며 public client 추가로 인한 변경이 아닙니다.

추가 작업이 필요 없습니다. 코드 변경, 환경변수 변경, RP 재등록 모두 불필요.

신규 RP 등록 시 변화

https://start.1pass.dev/developer/applications/new 폼에 클라이언트 타입 라디오가 추가되었습니다.

  • Confidential (기본) — 기존 동작과 동일. 백엔드 보유 RP 권장.
  • Public — 모바일/SPA 전용. client_secret 발급 안 됨, PKCE S256 강제.

자세한 결정 가이드: Public vs Confidential

신규 검증 로직 (모든 RP 공통)

기존 RP 도 영향받는 보안 강화 항목 — 정상 사용 시 변화 없으나 비표준 호출은 거절됩니다:

1. Token endpoint method advertise

/.well-known/openid-configurationtoken_endpoint_auth_methods_supportednone 추가:

diff
- "token_endpoint_auth_methods_supported": ["client_secret_basic", "client_secret_post"],
+ "token_endpoint_auth_methods_supported": ["client_secret_basic", "client_secret_post", "none"],

Confidential RP 는 none 을 사용할 수 없으며 (validation 거절), 변화 없음.

2. Public client downgrade 방어

신규 도입. Public client 가 token endpoint 에 client_secret 또는 HTTP Basic 헤더를 보내면 invalid_client 거절. 이는 신규 public RP 에만 적용 — 기존 confidential 은 영향 없음.

3. Public client redirect_uri 정책

신규 도입. Public RP 의 redirect_uri 는 https / loopback / custom-scheme 만 허용 (RFC 8252 §8.5). 외부 평문 http URL 은 등록 거부. Confidential RP 는 영향 없음.

DB 스키마 변화

내부 DB 스키마에 신규 컬럼이 추가되었습니다 — RP 측 작업 불필요:

sql
ALTER TABLE oauth_applications
  ADD COLUMN client_type VARCHAR DEFAULT 'confidential' NOT NULL,
  ADD COLUMN token_endpoint_auth_method VARCHAR DEFAULT 'client_secret_basic' NOT NULL;

ALTER TABLE oauth_applications
  ADD CONSTRAINT chk_client_type_secret_consistency
  CHECK (
    (client_type = 'confidential' AND client_secret_digest IS NOT NULL ...)
    OR
    (client_type = 'public' AND client_secret_digest IS NULL ...)
  );

기존 row 는 raw SQL 백필로 confidential 값 부여됨.

다른 변화

Beta 기간 production tier 자동 승인

LOGI_BETA_AUTO_APPROVE=true 환경변수가 활성화된 동안 신규 production tier 신청은 즉시 자동 승인됩니다. 베타 종료 시 ENV 제거하면 기존 manual review 흐름 복귀.

사업자등록증 옵셔널

production tier 신청 시 사업자등록증 PDF 대신 자유 양식 신원/서비스 설명(50자~5000자)으로 대체 가능. 솔로 개발자 / OSS 프로젝트 진입 장벽 완화.

문의

문제 발견 시 logi-support@dcode-labs.com 또는 GitHub Issues.

MIT License · Identity가 제품의 신뢰를 만듭니다.