func (s *SingleKrItemStore) getDb() (*singleKrItemDb, error) {
	item, err := s.Keyring.Get(KeyringItemKey)
	if err != nil {
		return nil, xerrors.Errorf("failed Keyring.Get(%q): %w", KeyringItemKey, err)
	}
	var unmarshalled singleKrItemDb
	if err := json.Unmarshal(item.Data, &unmarshalled); err != nil {
		return nil, xerrors.Errorf("failed unmarshal for %q: %w", KeyringItemKey, err)
	}
	return &unmarshalled, nil
}
getDb gets our item from the keyring and unmarshals it

if the keyring item is not found, returns wrapped keyring.ErrKeyNotFound
package sessioncache
import (
	"encoding/json"
	"time"
	"github.com/99designs/keyring"
	log "github.com/sirupsen/logrus"
	"golang.org/x/xerrors"
)
const KeyringItemKey = "session-cache"
const KeyringItemLabel = "aws-okta session cache"
type singleKrItemDb struct {
	Sessions map[string]Session
}
type SingleKrItemStore struct {
	Keyring keyring.Keyring
}