pion_store

package
v0.0.0-...-614d85d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IndexKeyPrefix   = shared.DefaultKeyPrefix + "/tokens/indices" // IndexKeyPrefix is the Etcd key prefix storing index keys
	PayloadKeyPrefix = shared.DefaultKeyPrefix + "/tokens/secrets" // PayloadKeyPrefix is the Etcd key prefix storing secret keys
)

Variables

This section is empty.

Functions

This section is empty.

Types

type KeyQuerier

type KeyQuerier interface {
	// Query returns the stored secret data binding to the access key
	Query(accessKey string) (data *SecretData, err error)
}

KeyQuerier interface is to query secret data from given access key

func NewKeyQuerier

func NewKeyQuerier(payloadKeyPrefix string, etcdClient *clientv3.Client) (KeyQuerier, error)

type KeyStore

type KeyStore interface {
	SaveKey(username, accessKey string, lifetime time.Duration, data SecretData) error

	ListAccessKeys(username string) (keys []string, err error)

	DeleteAccessKey(accessKey string) error

	KeyQuerier
}

func NewEtcdKeyStore

func NewEtcdKeyStore(indexKeyPrefix, payloadKeyPrefix string, etcdClient *etcd.Client) (KeyStore, error)

NewEtcdKeyStore create a key store for AccessKey/SecretKey. It is the decorator of the generic token.EtcdStore

type SecretData

type SecretData struct {
	SecretKey  string                 `json:"secretKey"`
	UserId     string                 `json:"userId"`
	Attributes map[string]interface{} `json:"attributes,omitempty"`
	CreatedAt  time.Time              `json:"createdAt,omitempty"` // default is IS8601 (RFC3339) date format
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL