backend/pkg/permission/domain/entity/request_response.go

86 lines
3.0 KiB
Go
Raw Permalink Normal View History

2025-10-06 08:28:39 +00:00
package entity
// AuthorizationReq 定義授權請求的結構
type AuthorizationReq struct {
GrantType string `json:"grant_type"` // 授權類型
DeviceID string `json:"device_id"` // 設備 ID
Scope string `json:"scope"` // 授權範圍
Data map[string]string `json:"data"` // 附加數據
Expires int64 `json:"expires"` // 過期時間(秒)
IsRefreshToken bool `json:"is_refresh_token"` // 是否為刷新令牌
Role string `json:"role"` // 用戶角色
Account string `json:"account"` // 登入時的帳號
}
// TokenResp 定義訪問令牌響應的結構
type TokenResp struct {
AccessToken string `json:"access_token"` // 訪問令牌
TokenType string `json:"token_type"` // 令牌類型
ExpiresIn int64 `json:"expires_in"` // 過期時間(秒)
RefreshToken string `json:"refresh_token"` // 刷新令牌
}
// CreateOneTimeTokenReq 建立一次性 Token 的請求
type CreateOneTimeTokenReq struct {
Token string `json:"token"` // 長期有效的驗證令牌
}
// CreateOneTimeTokenResp 建立一次性 Token 的響應
type CreateOneTimeTokenResp struct {
OneTimeToken string `json:"one_time_token"` // 一次性令牌
}
// RefreshTokenReq 更新 Token 的請求
type RefreshTokenReq struct {
Token string `json:"token"` // 令牌
Scope string `json:"scope"` // 授權範圍
Expires int64 `json:"expires"` // 過期時間(秒)
DeviceID string `json:"device_id"` // 設備 ID
}
// RefreshTokenResp 更新令牌的響應
type RefreshTokenResp struct {
Token string `json:"token"` // 新的訪問令牌
OneTimeToken string `json:"one_time_token"` // 一次性令牌
ExpiresIn int64 `json:"expires_in"` // 過期時間(秒)
TokenType string `json:"token_type"` // 令牌類型
}
// CancelTokenReq 註銷 Token 的請求
type CancelTokenReq struct {
Token string `json:"token"` // 需要註銷的令牌
}
// DoTokenByUIDReq 基於 UID 操作 Token 的請求
type DoTokenByUIDReq struct {
IDs []string `json:"ids"` // Token ID 列表
UID string `json:"uid"` // 用戶 ID
}
// QueryTokenByUIDReq 查詢 UID 對應的 Token
type QueryTokenByUIDReq struct {
UID string `json:"uid"` // 用戶 ID
}
// ValidationTokenReq 驗證 Token 的請求
type ValidationTokenReq struct {
Token string `json:"token"` // 需要驗證的令牌
}
// ValidationTokenResp 驗證並返回 Token 詳情
type ValidationTokenResp struct {
Token Token `json:"token"` // Token 詳情
Data map[string]string `json:"data"` // 附加數據
}
// DoTokenByDeviceIDReq 基於設備 ID 操作 Token 的請求
type DoTokenByDeviceIDReq struct {
DeviceID string `json:"device_id"` // 設備 ID
}
// CancelOneTimeTokenReq 取消一次性 Token 的請求
type CancelOneTimeTokenReq struct {
Token []string `json:"token"` // 一次性 Token 列表
}