micro/util/token/token.go

35 lines
961 B
Go
Raw Normal View History

package token // import "go.unistack.org/micro/v3/util/token"
import (
"errors"
2020-04-01 14:25:00 +01:00
"time"
"go.unistack.org/micro/v3/auth"
)
var (
// ErrNotFound is returned when a token cannot be found
ErrNotFound = errors.New("token not found")
// ErrEncodingToken is returned when the service encounters an error during encoding
ErrEncodingToken = errors.New("error encoding the token")
// ErrInvalidToken is returned when the token provided is not valid
ErrInvalidToken = errors.New("invalid token provided")
)
// Provider generates and inspects tokens
type Provider interface {
2020-04-01 14:25:00 +01:00
Generate(account *auth.Account, opts ...GenerateOption) (*Token, error)
Inspect(token string) (*auth.Account, error)
String() string
}
2020-04-01 14:25:00 +01:00
// Token holds the auth token
2020-04-01 14:25:00 +01:00
type Token struct {
// Created time of token created
2020-04-01 14:25:00 +01:00
Created time.Time `json:"created"`
// Expiry ime of the token
2020-04-01 14:25:00 +01:00
Expiry time.Time `json:"expiry"`
// Token holds the actual token
Token string `json:"token"`
2020-04-01 14:25:00 +01:00
}