Documentation
¶
Index ¶
- Constants
- func Parse(raw string) (tokenID string, secret string, err error)
- func SaveVault(v *Vault) error
- func VaultPath() (string, error)
- func Verify(raw string, rec StoredToken) (string, bool)
- type CreateOptions
- type ExecPayload
- type HostGrant
- type ResolveResult
- type StoredToken
- type StoredTokenHost
- type SyncTokenDef
- type SyncTokenHost
- type TokenSummary
- type Vault
- func (v *Vault) ActivateToken(tokenID string, dbUnlockSecret string, devicePepper []byte) (string, error)
- func (v *Vault) AddToken(rawToken string, rec StoredToken) error
- func (v *Vault) DeleteRevokedToken(tokenID string) (bool, error)
- func (v *Vault) ExportSyncDefinitions() []SyncTokenDef
- func (v *Vault) ListSummaries() []TokenSummary
- func (v *Vault) MarkUsed(tokenIndex int)
- func (v *Vault) MergeSyncDefinitions(defs []SyncTokenDef) bool
- func (v *Vault) Resolve(rawToken string, targetLabel string, devicePepper []byte) (ResolveResult, error)
- func (v *Vault) RevokeToken(tokenID string) bool
- func (v *Vault) SyncHostLabels(labels map[int]string) bool
Constants ¶
View Source
const (
TokenPrefix = "stk"
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CreateOptions ¶
type ExecPayload ¶
type ExecPayload struct {
HostID int `json:"host_id"`
DisplayLabel string `json:"display_label"`
Hostname string `json:"hostname"`
Username string `json:"username"`
Port int `json:"port"`
KeyType string `json:"key_type"`
Secret string `json:"secret"`
HostKeyPolicy string `json:"host_key_policy"`
KeepAliveSeconds int `json:"keepalive_seconds"`
Term string `json:"term"`
PasswordBackendUnix string `json:"password_backend_unix"`
}
type ResolveResult ¶
type StoredToken ¶
type StoredToken struct {
TokenID string `json:"token_id"`
Name string `json:"name"`
Salt string `json:"salt,omitempty"`
Hash string `json:"hash,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
LastUsedAt *time.Time `json:"last_used_at,omitempty"`
UseCount int `json:"use_count"`
RevokedAt *time.Time `json:"revoked_at,omitempty"`
DeletedAt *time.Time `json:"deleted_at,omitempty"`
ExpiresAt *time.Time `json:"expires_at,omitempty"`
MaxUses int `json:"max_uses,omitempty"`
SyncEnabled bool `json:"sync_enabled,omitempty"`
UnlockSalt string `json:"unlock_salt,omitempty"`
UnlockData string `json:"unlock_data,omitempty"`
UnlockBound bool `json:"unlock_bound,omitempty"`
Hosts []StoredTokenHost `json:"hosts"`
}
func CreateToken ¶
func CreateToken(name string, grants []HostGrant, dbUnlockSecret string, opts CreateOptions) (string, StoredToken, error)
func (StoredToken) IsLegacyPayload ¶
func (t StoredToken) IsLegacyPayload() bool
func (StoredToken) IsUsable ¶
func (t StoredToken) IsUsable() bool
type StoredTokenHost ¶
type SyncTokenDef ¶
type SyncTokenDef struct {
TokenID string `json:"token_id"`
Name string `json:"name"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
RevokedAt *time.Time `json:"revoked_at,omitempty"`
DeletedAt *time.Time `json:"deleted_at,omitempty"`
ExpiresAt *time.Time `json:"expires_at,omitempty"`
MaxUses int `json:"max_uses,omitempty"`
SyncEnabled bool `json:"sync_enabled,omitempty"`
Hosts []SyncTokenHost `json:"hosts"`
}
type SyncTokenHost ¶
type TokenSummary ¶
type Vault ¶
type Vault struct {
Version int `json:"version"`
Tokens []StoredToken `json:"tokens"`
}
func (*Vault) ActivateToken ¶
func (*Vault) ExportSyncDefinitions ¶
func (v *Vault) ExportSyncDefinitions() []SyncTokenDef
func (*Vault) ListSummaries ¶
func (v *Vault) ListSummaries() []TokenSummary
func (*Vault) MergeSyncDefinitions ¶
func (v *Vault) MergeSyncDefinitions(defs []SyncTokenDef) bool
func (*Vault) RevokeToken ¶
Click to show internal directories.
Click to hide internal directories.