snow · 2026.5.28 03:31 · 조회 2

Logto 로그인 UI 커스터마이징

LogtoIAM브랜딩UI커스터마이징

Logto는 기본 로그인 화면을 제공하며, 브랜드 색상·로고 적용부터 CSS 전면 커스터마이징, 커스텀 도메인 설정까지 다양한 방식으로 로그인 경험을 맞춤화할 수 있습니다.


7.1 브랜딩 설정

기본 브랜딩 설정

Admin Console → Sign-in experienceBranding 탭에서 설정합니다.

설정 항목설명
로고라이트/다크 모드별 로고 이미지 업로드
Favicon브라우저 탭 아이콘
브랜드 색상버튼, 링크 등에 사용되는 주 색상
다크 모드사용자 시스템 설정에 따른 자동 전환

색상 설정 예시

Primary color:     #2563EB  (파란색 계열)
Dark mode color:   #3B82F6  (다크 모드용)

로고 업로드 가이드

  • 권장 형식: SVG 또는 PNG (투명 배경)
  • 권장 크기: 200px × 60px 이상
  • 최대 파일 크기: 500KB

로그인 화면 텍스트 커스터마이징

Admin Console → Sign-in experienceBrandingApp nameSlogan 설정

앱 이름: Your Company
슬로건: 안전하고 빠른 로그인

7.2 CSS 커스터마이징

더 깊은 UI 변경이 필요할 경우 Custom CSS를 직접 주입할 수 있습니다.

Custom CSS 적용

Admin Console → Sign-in experienceBrandingCustom CSS

예시 1: 배경 그라디언트 변경

.logto-sign-in {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.logto-sign-in .main-content {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

예시 2: 버튼 스타일 변경

.logto-sign-in button[type="submit"] {
  background: #2563EB;
  border-radius: 8px;
  font-weight: 600;
  letter-spacing: 0.025em;
  transition: background 0.2s;
}

.logto-sign-in button[type="submit"]:hover {
  background: #1D4ED8;
}

.logto-sign-in .social-sign-in-button {
  border: 1.5px solid #E5E7EB;
  border-radius: 8px;
}

예시 3: 입력 필드 커스터마이징

.logto-sign-in input[type="email"],
.logto-sign-in input[type="password"],
.logto-sign-in input[type="text"] {
  border: 1.5px solid #D1D5DB;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 16px;
  transition: border-color 0.2s;
}

.logto-sign-in input:focus {
  border-color: #2563EB;
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

예시 4: 다크 모드 스타일

@media (prefers-color-scheme: dark) {
  .logto-sign-in .main-content {
    background: #1F2937;
    color: #F9FAFB;
  }

  .logto-sign-in input {
    background: #374151;
    border-color: #4B5563;
    color: #F9FAFB;
  }
}

Custom CSS 디버깅 팁

  1. Admin Console의 Preview 버튼으로 실시간 미리보기를 확인합니다.
  2. 브라우저 개발자 도구(F12)에서 요소 클래스명을 확인한 후 CSS를 작성합니다.
  3. CSS 우선순위 문제가 있을 경우 !important를 신중하게 사용합니다.

7.3 커스텀 도메인 설정

기본 로그인 URL(your-tenant-id.logto.app) 대신 자체 도메인(auth.yourcompany.com)을 사용할 수 있습니다.

사전 요구사항

  • 도메인의 DNS 관리 권한 보유
  • SSL 인증서 (Let's Encrypt 자동 발급 지원)
  • Logto Cloud Pro 플랜 이상 (셀프호스팅은 무료)

설정 순서

Step 1: Admin Console에서 커스텀 도메인 추가

Admin Console → Settings → Custom domain → 도메인 입력
도메인: auth.yourcompany.com

Step 2: DNS CNAME 레코드 등록

타입:   CNAME
이름:   auth
값:     cname.logto.app  (Logto가 제공하는 실제 값 사용)
TTL:    300

Step 3: SSL 인증서 발급 대기

DNS 전파(최대 48시간)가 완료되면 Logto가 자동으로 Let's Encrypt 인증서를 발급합니다.

Step 4: 앱 설정 업데이트

// 기존
const config = { endpoint: 'https://your-tenant-id.logto.app', ... };

// 변경 후
const config = { endpoint: 'https://auth.yourcompany.com', ... };

7.4 Organization별 로고 커스터마이징 (엔터프라이즈)

Organization 브랜딩 설정

await fetch(
  `https://your-tenant-id.logto.app/api/organizations/${orgId}`,
  {
    method: 'PATCH',
    headers: {
      Authorization: `Bearer ${managementToken}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      branding: {
        logoUrl: 'https://assets.company-a.com/logo.svg',
        darkLogoUrl: 'https://assets.company-a.com/logo-dark.svg',
        favicon: 'https://assets.company-a.com/favicon.ico',
        primaryColor: '#DC2626',
      },
    }),
  }
);

Organization 컨텍스트 로그인 화면 표시

const { signIn } = useLogto();

signIn('https://yourapp.com/callback', {
  extraParams: {
    organization_id: 'org-a',
  },
});

다음 단계

로그인 UI 커스터마이징이 완료되었습니다. 이제 서비스를 운영 환경에 배포하기 위한 보안 점검과 설정을 진행합니다.

다음: Logto 프로덕션 배포 — 보안 체크리스트, Docker 배포, 모니터링


참고: Logto Sign-in experience — https://docs.logto.io/sign-in-experience

댓글

아직 댓글이 없습니다.

댓글을 작성하려면 로그인이 필요합니다.