func (s *Store) Get(sub string) (*UserTokens, error) {
	raw, err := s.s.Get(sub)
	if err != nil {
		return nil, fmt.Errorf("failed to fetch user tokens from store: %w", err)
	}
	tokens := &UserTokens{}
	return tokens, json.Unmarshal(raw, tokens)
}
Get fetches a UserTokens from the underlying storage.
package tokens
import (
	"encoding/json"
	"fmt"
	ariesstorage "github.com/hyperledger/aries-framework-go/spi/storage"
	"github.com/trustbloc/edge-agent/pkg/restapi/common/store"
)
const (
	StoreName = "edgeagent_tks"
)
type UserTokens struct {
	UserSub string
	Access  string
	Refresh string
}
func NewStore(p ariesstorage.Provider) (*Store, error) {
	s, err := store.Open(p, StoreName)
	if err != nil {
		return nil, fmt.Errorf("failed to open tokens store: %w", err)
	}
	return &Store{s: s}, nil
}
type Store struct {
	s ariesstorage.Store
}
func (s *Store) Save(ut *UserTokens) error {
	return store.Save(s.s, ut.UserSub, ut)
}