func getTokenStore() *TokenStore {
	if _tokens == nil {
		_tokens = &TokenStore{
			cache: cache.New(time.Minute*60, time.Minute*5),
		}
	}
	return _tokens
}
Returns the global unique token store cache. This is used to validate
one time token usage by storing any received tokens in a local memory
cache until they are ready to expire.
package tokens
import (
	"sync"
	"time"
	"github.com/patrickmn/go-cache"
)
type TokenStore struct {
	sync.Mutex
	cache *cache.Cache
}
var _tokens *TokenStore