34 lines
		
	
	
		
			865 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			865 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package token
 | |
| 
 | |
| import (
 | |
| 	"errors"
 | |
| 	"time"
 | |
| 
 | |
| 	"github.com/micro/go-micro/v2/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
 | |
| }
 | |
| 
 | |
| type Token struct {
 | |
| 	// The actual token
 | |
| 	Token string `json:"token"`
 | |
| 	// Time of token creation
 | |
| 	Created time.Time `json:"created"`
 | |
| 	// Time of token expiry
 | |
| 	Expiry time.Time `json:"expiry"`
 | |
| }
 |