From 37fd831ce701edd16a452f6d8e8a70ea5c815ddb Mon Sep 17 00:00:00 2001 From: vsxd Date: Thu, 12 Mar 2026 18:11:13 +0800 Subject: [PATCH] feat(cli): add Device Flow data models --- .../skillhub/auth/device/DeviceCodeData.java | 27 +++++++++++++++++++ .../auth/device/DeviceCodeResponse.java | 9 +++++++ .../auth/device/DeviceCodeStatus.java | 7 +++++ .../auth/device/DeviceTokenResponse.java | 15 +++++++++++ 4 files changed, 58 insertions(+) create mode 100644 server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeData.java create mode 100644 server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeResponse.java create mode 100644 server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeStatus.java create mode 100644 server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceTokenResponse.java diff --git a/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeData.java b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeData.java new file mode 100644 index 00000000..015896b7 --- /dev/null +++ b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeData.java @@ -0,0 +1,27 @@ +package com.iflytek.skillhub.auth.device; + +import java.io.Serializable; + +public class DeviceCodeData implements Serializable { + private String deviceCode; + private String userCode; + private DeviceCodeStatus status; + private String userId; + + public DeviceCodeData() {} + + public DeviceCodeData(String deviceCode, String userCode, + DeviceCodeStatus status, String userId) { + this.deviceCode = deviceCode; + this.userCode = userCode; + this.status = status; + this.userId = userId; + } + + public String getDeviceCode() { return deviceCode; } + public String getUserCode() { return userCode; } + public DeviceCodeStatus getStatus() { return status; } + public void setStatus(DeviceCodeStatus status) { this.status = status; } + public String getUserId() { return userId; } + public void setUserId(String userId) { this.userId = userId; } +} diff --git a/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeResponse.java b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeResponse.java new file mode 100644 index 00000000..ea1f2e3d --- /dev/null +++ b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeResponse.java @@ -0,0 +1,9 @@ +package com.iflytek.skillhub.auth.device; + +public record DeviceCodeResponse( + String deviceCode, + String userCode, + String verificationUri, + int expiresIn, + int interval +) {} diff --git a/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeStatus.java b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeStatus.java new file mode 100644 index 00000000..34226df8 --- /dev/null +++ b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceCodeStatus.java @@ -0,0 +1,7 @@ +package com.iflytek.skillhub.auth.device; + +public enum DeviceCodeStatus { + PENDING, + AUTHORIZED, + USED +} diff --git a/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceTokenResponse.java b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceTokenResponse.java new file mode 100644 index 00000000..100374fd --- /dev/null +++ b/server/skillhub-auth/src/main/java/com/iflytek/skillhub/auth/device/DeviceTokenResponse.java @@ -0,0 +1,15 @@ +package com.iflytek.skillhub.auth.device; + +public record DeviceTokenResponse( + String accessToken, + String tokenType, + String error +) { + public static DeviceTokenResponse pending() { + return new DeviceTokenResponse(null, null, "authorization_pending"); + } + + public static DeviceTokenResponse success(String token) { + return new DeviceTokenResponse(token, "Bearer", null); + } +}