Documentation ¶
Index ¶
Constants ¶
View Source
const ( SIWENoncePerIP ratelimit.BucketName = "SIWENoncePerIP" SIWEVerifyPerIP ratelimit.BucketName = "SIWEVerifyPerIP" )
View Source
const Alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
siwe-go library regex does not support underscore so we define a new one for this case https://github.com/spruceid/siwe-go/blob/fc1b0374f4ffff68e3455839655e680be7e0f862/regex.go#L17
Variables ¶
View Source
var DependencySet = wire.NewSet( wire.Struct(new(StoreRedis), "*"), wire.Bind(new(NonceStore), new(*StoreRedis)), NewLogger, wire.Struct(new(Service), "*"), )
View Source
var ErrNonceNotFound = InvalidNonce.NewWithCause("nonce is expired or invalid", apierrors.StringCause("NonceNotFound"))
View Source
var InvalidNetwork = apierrors.BadRequest.WithReason("InvalidNetwork")
View Source
var InvalidNonce = apierrors.Forbidden.WithReason("InvalidNonce")
Functions ¶
This section is empty.
Types ¶
type NonceStore ¶
type RateLimiter ¶
type RateLimiter interface { Allow(spec ratelimit.BucketSpec) error Reserve(spec ratelimit.BucketSpec) *ratelimit.Reservation Cancel(r *ratelimit.Reservation) }
type Service ¶
type Service struct { RemoteIP httputil.RemoteIP HTTPOrigin httputil.HTTPOrigin Web3Config *config.Web3Config AuthenticationConfig *config.AuthenticationConfig Clock clock.Clock NonceStore NonceStore RateLimiter RateLimiter Logger Logger }
func (*Service) CreateNewNonce ¶
func (*Service) VerifyMessage ¶
Click to show internal directories.
Click to hide internal directories.