diff --git a/application/src/main/java/run/halo/app/security/device/NewDeviceLoginListener.java b/application/src/main/java/run/halo/app/security/device/NewDeviceLoginListener.java index 876d34027b..1a9c23f166 100644 --- a/application/src/main/java/run/halo/app/security/device/NewDeviceLoginListener.java +++ b/application/src/main/java/run/halo/app/security/device/NewDeviceLoginListener.java @@ -1,5 +1,7 @@ package run.halo.app.security.device; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; import lombok.RequiredArgsConstructor; import org.springframework.context.ApplicationListener; import org.springframework.lang.NonNull; @@ -25,6 +27,8 @@ @RequiredArgsConstructor public class NewDeviceLoginListener implements ApplicationListener { static final String REASON_TYPE = "new-device-login"; + private static final DateTimeFormatter DATE_TIME_FORMATTER = + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss O").withZone(ZoneOffset.systemDefault()); private final NotificationCenter notificationCenter; private final NotificationReasonEmitter notificationReasonEmitter; @@ -43,7 +47,8 @@ Mono sendNewDeviceNotification(Device device) { attributes.put("os", device.getStatus().getOs()); attributes.put("browser", device.getStatus().getBrowser()); attributes.put("ipAddress", device.getSpec().getIpAddress()); - attributes.put("loginTime", device.getSpec().getLastAuthenticatedTime()); + attributes.put("loginTime", + DATE_TIME_FORMATTER.format(device.getSpec().getLastAuthenticatedTime())); builder.attributes(attributes) .author(UserIdentity.of(device.getSpec().getPrincipalName())) .subject(Reason.Subject.builder() diff --git a/application/src/main/resources/extensions/notification-templates.yaml b/application/src/main/resources/extensions/notification-templates.yaml index a0b5d65c30..6290a22467 100644 --- a/application/src/main/resources/extensions/notification-templates.yaml +++ b/application/src/main/resources/extensions/notification-templates.yaml @@ -168,7 +168,7 @@ spec: [(${subscriber.displayName})] 你好: 你的 [(${site.title})] 账号被用于在 [(${os})] 的 [(${browser})] 上登录。 - 时间:[(${loginTime})] + 时间:[(${loginTime})] IP 地址:[(${ipAddress})] 如果你知悉上述信息,请忽略此电子邮件。 如果你最近没有使用你的 Halo 账号登录并相信有人可能访问了你的账户,请尽快重设你的密码。 @@ -180,8 +180,8 @@ spec:

-

-

+

+

如果你知悉上述信息,请忽略此电子邮件。