• release

Logto 제품 업데이트

Logto v1.38.0이 출시되었습니다. 이번 릴리스에서는 OAuth 2.0 디바이스 인증 승인 지원, 패스키 로그인, 적응형 MFA, 세션 및 승인 관리, 그리고 OSS 배포를 위한 더욱 유연한 OIDC 구성 기능이 추가되었습니다.

Charles
Charles
Developer

사용자 인증에 몇 주를 낭비하지 마세요
Logto로 더 빠르게 안전한 앱을 출시하세요. 몇 분 만에 사용자 인증을 통합하고 핵심 제품에 집중하세요.
시작하기
Product screenshot

Logto v1.38.0, 2026년 3월 릴리스를 발표하게 되어 매우 기쁩니다! 이번 업데이트에는 입력 제한 기기를 위한 디바이스 플로우, 패스키 로그인 및 적응형 MFA 개선 사항, 그리고 Logto 전반에 걸친 세션, 승인, 테넌트 수준의 구성 제어 기능이 확대되었습니다.

입력 제한 기기를 위한 디바이스 플로우

이번 릴리스의 주요 추가 사항 중 하나는 OAuth 2.0 디바이스 인증 승인 지원입니다. 이 기능을 통해 키보드나 브라우저 환경이 완전하지 않은 스마트 TV, CLI 도구, 게임 콘솔, IoT 기기와 같은 기기를 위한 인증 플로우 개발이 훨씬 쉬워집니다.

디바이스 플로우를 사용하면 사용자는 다음과 같은 작업이 가능합니다:

  • 기기에서 로그인 시작
  • 다른 기기에서 인증 URL 열기
  • 짧은 사용자 코드를 입력
  • 인증 완료
  • 토큰이 발급된 상태로 원래 기기로 돌아감

콘솔에서도 디바이스 플로우 애플리케이션을 완벽하게 지원합니다. 이제 네이티브 앱의 입력 제한 앱 / CLI를 선택하거나, 앱을 수동 생성할 때 권한 부여 플로우로 디바이스 플로우를 선택하여 디바이스 플로우 앱을 만들 수 있습니다. 애플리케이션 설정 페이지에는 시작을 도와주는 내장 가이드와 데모도 포함되어 있습니다.

패스키 로그인이 독립 인증 플로우로 자리잡음

이번 릴리스에서는 패스키 로그인을 Logto의 완전한 인증 방식으로 도입했습니다.

패스키 로그인을 통해 기존 유저들에게 빠르고 비밀번호 없는 경험을 제공하며 계정 보안도 강화됩니다. 이 기능은 Face ID, Touch ID, Windows Hello 등 익숙한 플랫폼 인증기와 함께 동작합니다.

여러 가지 패스키 기반 사용자 플로우를 지원합니다:

  • 즉시 로그인 가능한 패스키로 계속하기 전용 버튼
  • 패스키 인증 우선, 실패 시 비밀번호/인증 코드로 대체하는 identifier-first 플로우
  • 브라우저 자동완성 지원, 식별자 입력란에서 저장된 패스키 바로 선택 가능
  • 신규 유저로 가입 시 패스키 연동
  • 기존 WebAuthn MFA 자격증명을 추가 등록 과정 없이 재사용 가능

더 자세한 내용은 패스키 로그인 문서를 참고하세요.

적응형 MFA 및 MFA 안내 개선

이번 릴리스에서는 현대적인 MFA 경험을 위한 두 가지 주요 개선 사항이 포함되었습니다.

적응형 MFA

Logto에서 적응형 MFA를 지원합니다. 활성화 시, 로그인 플로우가 현재 로그인 컨텍스트 기준으로 적응형 MFA 규칙을 평가하고 해당 규칙이 발동되면 MFA를 요구합니다.

이외에도 다음이 포함됩니다:

  • 콘솔 내 적응형 MFA 구성
  • 인터랙션 데이터에 저장된 로그인 컨텍스트
  • 커스텀 클레임 스크립트에서 context.interaction.signInContext 접근 가능
  • 새로운 PostSignInAdaptiveMfaTriggered 웹훅 이벤트

선택적 MFA 온보딩

MFA 설정이 필수가 아닌 사용자에게, 자격 증명 인증 이후 별도의 온보딩 페이지를 보여주어 더 나은 보호를 위해 MFA 활성화를 유도할 수 있습니다.

특히 패스키 로그인과 조합해 사용할 때, 사용자가 로그인에는 패스키를 이용하지만 반드시 MFA 요소로 동시에 사용하도록 강제하지 않을 때 유용합니다.

API 및 콘솔 전반의 세션 및 승인 관리

이번 릴리스에는 사용자 세션 및 인증된 애플리케이션에 대한 계정/관리자 제어 기능이 대폭 추가되었습니다.

사용자 세션 관리

Logto는 계정 API와 관리 API 양쪽에서 세션 관리를 지원합니다. 활성 세션 조회, 세션 상세 보기, 선택적 승인 해제(Grant revoke 포함)로 세션을 종료할 수 있습니다.

또 다음이 도입되었습니다:

  • Account Center 설정에서 off, readOnly, edit 옵션의 새로운 session 권한
  • 세션 관련 계정 API 접근을 위한 새로운 urn:logto:scope:sessions 사용자 스코프
  • IP, user agent, GEO 위치(IP 기반) 등 확장된 세션 컨텍스트

콘솔 UI에서도 사용자 상세 내역에 활성 세션 섹션이 생겼고, 세션 상세/해제 전용 페이지가 추가되었습니다.

승인된 애플리케이션 Grant 관리

Logto는 계정 API와 관리 API 양쪽에서 사용자 앱 승인 목록 조회 및 해제를 지원합니다.

이번 릴리스에서는 콘솔 사용자 상세에서 승인된 서드파티 앱 섹션도 추가되어 관리자가 활성화된 외부 앱 권한, 앱 이름, 생성 시각 등 메타데이터 확인 및 접근 권한 해제를 UI에서 바로 할 수 있습니다.

앱별 동시 기기 수 제한

앱은 이제 customClientMetadata 내에 maxAllowedGrants 값을 설정해 유저가 해당 앱에 대해 가질 수 있는 활성 Grant 개수를 제한할 수 있습니다. 기반값 초과 시, Logto가 자동으로 가장 오래된 Grant부터 해제합니다.

콘솔에도 동시 기기 수 제한 구성이 앱 상세 내역에 추가되어 시각적으로 설정할 수 있습니다.

OIDC 설정 제어의 OSS 확장

OSS 유저를 위해, 이번 릴리스에서 OIDC 설정이 더욱 유연하게 관리 가능해졌습니다.

이제 logto-config에서 oidc.session.ttl을 설정하여 OIDC 프로바이더 세션 TTL (초 단위)을 직접 지정할 수 있습니다. 미설정 시, 기본값은 14일입니다.

또한 다음을 추가했습니다:

  • GET /api/configs/oidc/session
  • PATCH /api/configs/oidc/session

콘솔에서는 OSS 버전에 테넌트 -> 설정 새 페이지와 OIDC 설정 탭이 생성되어, 예전의 Signing keys 페이지를 대체합니다. 신규 페이지에는 세션 TTL(최대 유지기간, 일 단위) 필드도 포함되어 있습니다.

OSS를 운영 중인 경우 구성 변경 후 반드시 서비스를 재시작해야 새 OIDC 설정이 반영됩니다. 구성 업데이트를 자동으로 적용하려면 중앙 Redis 캐시 사용을 고려하세요.

계정 센터 개선

기본 제공되는 계정 센터에도 여러 유용한 업그레이드가 포함되었습니다.

이제 사용자는 다음이 가능합니다:

  • /authenticator-app/replace 경로로 인증 앱 교체
  • URL 매개변수 identifier로 식별자 자동 입력
  • URL 매개변수 ui_locales로 내장 계정 센터 언어 재정의

또한, 비밀번호 입력 폼이 브라우저 자동완성·비밀번호 관리자 호환성이 더 좋아졌습니다.

개발자 중심 API 개선

사용자 마이그레이션 팀을 위해, GET /usersGET /users/:userId 엔드포인트에서 includePasswordHash 쿼리파라미터를 지원합니다. 활성화 시, 응답에 passwordDigestpasswordAlgorithm이 포함되어 원본 비밀번호 해시 데이터가 필요한 마이그레이션에 도움이 됩니다.

또한 서비스간 위임(delegation) 시 액세스 토큰 교환을 지원합니다. Logto는 불투명 토큰 또는 JWT 액세스 토큰을 표준 urn:ietf:params:oauth:token-type:access_token 토큰 타입으로 대상이 다른 새 액세스 토큰으로 교환할 수 있습니다.

버그 수정

이번 릴리스에는 안정성·호환성 개선도 다수 포함되어 있습니다:

  • TOTP, WebAuthn, 백업코드용 MFA 인증 경로가 Sentinel에 활동을 보고, 반복 실패 감지·구분이 쉬워짐
  • OIDC 어댑터의 findByUid, findByUserCode 쿼리를 리터럴 JSONB 키 방식으로 변경해 인덱스가 prepared plan 하에서 더 잘 동작
  • Postgres 풀 초기화 과정이 일시적 연결 실패에도 재시도되도록 개선
  • 레거시 비밀번호 검증에서 사용자 import 시 hex: 접두사 PBKDF2 salt 값 지원
  • 토큰 교환 시 최소 OIDC 리소스 조회 캐싱 및 Grant ID 사전 생성으로 성능 개선
  • Twilio SMS To 포맷이 E.164 형식이 아니어도 앞에 +가 붙도록 정규화

주요 변경 사항(파괴적 변화)

이번 릴리스에는 커넥터 툴킷의 파괴적 변경(breaking change)이 있습니다.

오래전부터 폐기 예정이었던 @logto/connector-kitmockSmsVerificationCodeFileName 내보내기가 삭제되었습니다.

모의(Mock) 커넥터에서 전송 메시지 기록 저장 파일 경로도 다음과 같이 변경되었습니다:

  • /tmp/logto_mock_email_record.txt -> /tmp/logto/mock_email_record.txt
  • /tmp/logto_mock_sms_record.txt -> /tmp/logto/mock_sms_record.txt

로컬 또는 Docker 기반 워크플로우에서 기존 경로를 사용한다면 업데이트가 필요합니다.

새로운 기여자

Logto 개선에 도움주신 새로운 기여자분들께 감사드립니다:


시작하기

업그레이드를 준비하셨나요? 단계별 안내는 업그레이드 가이드를 참고하세요.

전체 변경 내역은 GitHub 릴리스 페이지에서 확인할 수 있습니다.

질문이나 의견이 있으신가요? Discord에 참여하거나 GitHub에 이슈를 남겨주세요.