3
0
corteza/internal/auth/interfaces.go
2019-05-12 23:40:39 +02:00

29 lines
501 B
Go

package auth
import (
"net/http"
)
type (
Identifiable interface {
Identity() uint64
Roles() []uint64
Valid() bool
}
TokenEncoder interface {
Encode(identity Identifiable) string
}
TokenHandler interface {
Encode(identity Identifiable) string
Verifier() func(http.Handler) http.Handler
Authenticator() func(http.Handler) http.Handler
}
Signer interface {
Sign(userID uint64, pp ...interface{}) string
Verify(signature string, userID uint64, pp ...interface{}) bool
}
)