Logto 제품 업데이트
Logto v1.46.0이 출시되었습니다. 이번 버전은 OIDC 단계적 인증, 이더리움으로 로그인, iOS 저장 비밀번호 프롬프트 유지 방법, 셀프 서비스 개인 액세스 토큰, 그리고 보안 강화가 포함되어 있습니다.
Logto v1.46.0이 출시되었습니다. 이번 버전은 OIDC 단계적 인증, 이더리움으로 로그인, iOS 저장 비밀번호 프롬프트 유지 방법, 셀프 서비스 개인 액세스 토큰, 그리고 보안 강화가 포함되어 있습니다.
Logto v1.46.0에서는 민감한 작업을 위한 OIDC 단계적(스텝업) 인증, 이더리움으로 로그인, iOS "비밀번호 저장" 프롬프트 유지 방법, 계정 센터에서 셀프 서비스 개인 액세스 토큰, GeeTest CAPTCHA, SAML 정적 속성, 그리고 보안 강화를 도입했습니다. 아래에는 신규 기능을 소개합니다.
앱에서 이제 표준 OIDC 파라미터를 사용해 민감한 작업 전 최근이거나 더 강력한 인증을 요구할 수 있습니다.
acr_values 와 max_age 를 전달하고, ID 토큰, 액세스 토큰, 인트로스펙션 응답에서 acr, amr, auth_time 을 읽으세요. 지원되는 ACR 값은 디스커버리 문서에서 확인할 수 있습니다.max_age 를 이용해 더 짧은 윈도우를 요청할 수 있습니다.설정 및 상세 내용은 단계적 인증 가이드 를 참고하세요.
새로운 이더리움 월렛 소셜 커넥터(@logto/connector-siwe)를 통해 사용자는 EVM 월렛으로 로그인할 수 있습니다. 브라우저 월렛(주입된 EIP-1193 프로바이더)을 가진 사용자는 한 번만 사용하는 이더리움(EIP-4361) 로그인을 서명하며, 로그인 페이지를 벗어나지 않습니다. 하나의 주소로 지원되는 EVM 체인 전체에서 사용할 수 있고, 관리자는 허용 체인 ID를 제한할 수 있습니다.
iOS에서, ASWebAuthenticationSession 은 앱의 콜백 URL을 확인하자마자 바로 닫혀, 비밀번호 로그인 직후 시스템 "비밀번호 저장" 프롬프트가 곧바로 사라지게 됩니다.
사용자가 비밀번호를 입력한 후 "계속" 페이지를 보여주는 새로운 confirm_redirect_policy=password 로그인 파라미터를 추가하세요. 사용자가 "계속"을 선택할 때만 앱으로 돌아가므로, 프롬프트가 화면에 계속 유지됩니다. 파라미터를 사용하지 않으면 기존처럼 바로 리다이렉트됩니다.
콘솔 내 Swift 통합 가이드에서 사용법을 확인할 수 있습니다. iOS 저장 비밀번호 프롬프트 유지도 참고하세요.
계정 센터에서 개인 액세스 토큰을 활성화하면, 사용자는 계정 센터 보안 페이지에서 자신의 토큰을 생성, 이름 변경, 폐기할 수 있습니다. 각 토큰은 생성 시 한 번만 표시되며, 최대 365일 내로 만료됩니다.
같은 작업은 /api/my-account/personal-access-tokens 경로의 계정 API에서도 urn:logto:scope:personal_access_tokens 스코프를 통해 가능합니다.
mfa.required를 설정하세요. 조직 수준 MFA 정책과 상관없이, 사용자는 다음 로그인 시 MFA를 반드시 설정해야 합니다.Legacy 비밀번호 알고리즘으로 SHA-crypt($5$, $6$) 비밀번호 해시를 가진 사용자를 가져올 수 있습니다.access_denied 반환: 동의 페이지 취소 또는 직접 로그인 실패 시 사용자가 클라이언트 앱으로 access_denied와 함께 돌아가게 됩니다. 커스텀 로그인 경험도 POST /api/experience/abort로 동일하게 종료할 수 있습니다.login_hint: 계정 센터 URL에 login_hint를 추가하면 인증 시 식별자를 미리 입력할 수 있습니다.staticAttributes에서 설정하세요.same-origin-allow-popups 또는 same-origin을 선택할 수 있습니다. 기본값은 헤더를 보내지 않으므로, 팝업에서 로그인 페이지를 여는 앱이 계속 동작합니다.GET /api/users는 반복 가능한 customData 쿼리 파라미터를 허용합니다. 예: customData={"customId":114514}GET /api/organizations가 jitEmailDomain 쿼리 파라미터를 받아, 해당 이메일 도메인 사용자에게 할당될 조직을 반환합니다.hasPassword: GET /api/organizations/:id/users는 이제 각 멤버가 비밀번호를 설정했는지도 보여줍니다.deliveryId: 모든 웹후크 페이로드에 이제 재시도 중에도 동일한 deliveryId가 포함되어, 수신자가 각 전달 건을 정확히 한 번만 처리할 수 있습니다. 이 값은 전달의 감사 로그 ID이기도 합니다.이번 릴리스에는 MFA, 소셜/엔터프라이즈 로그인, 계정 API, Logto 터널 관련 전반에 걸친 보안 패치가 포함되어 있습니다.
자세한 내용은 v1.46.0 릴리스 노트 를 참조하세요.
502 connector.social_provider_unreachable을, 권한 거절 시 401 connector.authorization_failed를 반환하며, 커넥터 오류 시 실제 공급자 메시지가 {} 대신 표시됩니다.scope 값: OpenAI Codex 등에서 앞에 공백이 붙은 scope로 리프레시 토큰 요청 시 invalid_scope로 실패하지 않아, 사용자는 계속 로그인 상태를 유지할 수 있습니다.customClientMetadata 키가 이제 거부되어, 오타(refreshTokenTtlInDay 등)가 조용히 넘어가지 않습니다.o365role 등인 매핑 속성에는 이제 사용자 값이 실제로 전달됩니다.expires_in을 문자열, scope를 배열로 허용하고, Patreon 커넥터는 Patreon API v2로 이동해서 다시 로그인 작동.Cannot find 'client' in scope 오류 수정.(@timokoethe 에게 감사)logto db alteration deploy)을 실행하세요./console 요청이 설정된 관리 엔드포인트와 맞지 않으면 Logto가 경고를 로그로 남겨, ADMIN_ENDPOINT 오설정 검출에 도움을 줍니다.이번 릴리스에 기여해주신 커뮤니티 멤버분들께 감사드립니다:
deliveryId (#9882), 조직원 hasPassword (#9883), 즉시 프로비저닝 도메인별 조직 필터 (#9912), customClientMetadata 키 검증 (#9931), 더 명확한 소셜 로그인 에러 (#9879, #9880), DB 연결 재시도 (#9881, #9928), 커넥터 요청 에러 처리 (#9849)ADMIN_ENDPOINT 불일치 경고 (#9408)업그레이드할 준비가 되셨나요? 업그레이드 가이드에서 단계별 방법을 확인하세요.
전체 변경 사항은 GitHub 릴리스 페이지 에서 볼 수 있습니다.