35 lines
		
	
	
		
			961 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			961 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package token // import "go.unistack.org/micro/v3/util/token"
 | 
						|
 | 
						|
import (
 | 
						|
	"errors"
 | 
						|
	"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 {
 | 
						|
	Generate(account *auth.Account, opts ...GenerateOption) (*Token, error)
 | 
						|
	Inspect(token string) (*auth.Account, error)
 | 
						|
	String() string
 | 
						|
}
 | 
						|
 | 
						|
// Token holds the auth token
 | 
						|
type Token struct {
 | 
						|
	// Created time of token created
 | 
						|
	Created time.Time `json:"created"`
 | 
						|
	// Expiry ime of the token
 | 
						|
	Expiry time.Time `json:"expiry"`
 | 
						|
	// Token holds the actual token
 | 
						|
	Token string `json:"token"`
 | 
						|
}
 |