github.com/infraboard/keyauth@v0.8.1/apps/token/security/interface.go (about) 1 package security 2 3 import ( 4 "context" 5 6 "github.com/infraboard/keyauth/apps/token" 7 ) 8 9 // Checker 安全检测 10 type Checker interface { 11 MaxTryChecker 12 ExceptionLockChecKer 13 IPProtectChecker 14 } 15 16 // MaxTryChecker todo 失败重试限制 17 type MaxTryChecker interface { 18 MaxFailedRetryCheck(context.Context, *token.IssueTokenRequest) error 19 UpdateFailedRetry(context.Context, *token.IssueTokenRequest) error 20 } 21 22 // ExceptionLockChecKer 异地登录限制 23 type ExceptionLockChecKer interface { 24 OtherPlaceLoggedInChecK(context.Context, *token.Token) error 25 NotLoginDaysChecK(context.Context, *token.Token) error 26 } 27 28 // IPProtectChecker todo 29 type IPProtectChecker interface { 30 IPProtectCheck(context.Context, *token.IssueTokenRequest) error 31 }