74 lines
2.4 KiB
Go
74 lines
2.4 KiB
Go
package auth
|
||
|
||
const (
|
||
// LoginIPRiskStatusPending 表示任务已落库但尚未被 worker claim。
|
||
LoginIPRiskStatusPending = "pending"
|
||
// LoginIPRiskStatusRunning 表示任务已被某个 worker 租约锁定。
|
||
LoginIPRiskStatusRunning = "running"
|
||
// LoginIPRiskStatusCompleted 表示任务已有 blocked/allowed/unknown 决策。
|
||
LoginIPRiskStatusCompleted = "completed"
|
||
// LoginIPRiskStatusFailed 表示本次处理失败,后续可按锁和 attempt 重试。
|
||
LoginIPRiskStatusFailed = "failed"
|
||
// LoginIPRiskStatusSkipped 表示已有新鲜决策,本任务不再访问 provider。
|
||
LoginIPRiskStatusSkipped = "skipped"
|
||
|
||
// LoginIPRiskDecisionBlocked 表示 IP 国家命中不支持国家。
|
||
LoginIPRiskDecisionBlocked = "blocked"
|
||
// LoginIPRiskDecisionAllowed 表示 IP 国家未命中不支持国家。
|
||
LoginIPRiskDecisionAllowed = "allowed"
|
||
// LoginIPRiskDecisionUnknown 表示 provider 全部不可用或没有可解析国家。
|
||
LoginIPRiskDecisionUnknown = "unknown"
|
||
)
|
||
|
||
// LoginIPRiskJob 是登录成功后异步复核入口 IP 的持久任务。
|
||
type LoginIPRiskJob struct {
|
||
AppCode string
|
||
JobID string
|
||
SessionID string
|
||
UserID int64
|
||
ClientIP string
|
||
ClientIPHash string
|
||
Channel string
|
||
Platform string
|
||
Language string
|
||
Timezone string
|
||
RequestID string
|
||
EdgeCountryCode string
|
||
Status string
|
||
Decision string
|
||
CountryCode string
|
||
FailureReason string
|
||
LockedBy string
|
||
LockedUntilMs int64
|
||
AttemptCount int
|
||
CreatedAtMs int64
|
||
UpdatedAtMs int64
|
||
}
|
||
|
||
// LoginIPRiskDecision 记录一次 IP Geo 决策,Redis 只保存它的快查投影。
|
||
type LoginIPRiskDecision struct {
|
||
AppCode string
|
||
DecisionID string
|
||
ClientIP string
|
||
ClientIPHash string
|
||
Decision string
|
||
CountryCode string
|
||
Confidence int
|
||
ProviderAttemptsJSON string
|
||
DecidedAtMs int64
|
||
ExpiresAtMs int64
|
||
CreatedAtMs int64
|
||
}
|
||
|
||
// LoginRiskCountryBlock 是后台维护的国家屏蔽词事实。
|
||
// CountryCode 为空时仅作为客户端词表下发;服务端 IP 风控只能稳定消费 provider 返回的国家码。
|
||
type LoginRiskCountryBlock struct {
|
||
AppCode string
|
||
BlockID int64
|
||
Keyword string
|
||
CountryCode string
|
||
Enabled bool
|
||
CreatedAtMs int64
|
||
UpdatedAtMs int64
|
||
}
|