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  }