credentials

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2017 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NerdTokenEnvVar = "NERD_TOKEN"
)

Variables

This section is empty.

Functions

func DecodeTokenWithKey

func DecodeTokenWithKey(nerdToken string, key *ecdsa.PublicKey) (*payload.NerdClaims, error)

DecodeTokenWithKey decodes a nerd token (JWT) and verifies it with the given public key.

func DecodeTokenWithPEM

func DecodeTokenWithPEM(nerdToken, pem string) (*payload.NerdClaims, error)

DecodeTokenWithPEM decodes a nerd token (JWT) and verifies it with the given public key in PEM format.

func ParseECDSAPublicKeyFromPemBytes

func ParseECDSAPublicKeyFromPemBytes(pemb []byte) (*ecdsa.PublicKey, error)

ParseECDSAPublicKeyFromPemBytes returns an ECDSA public key from pem bytes

Types

type NerdAPI

type NerdAPI struct {
	PublicKey *ecdsa.PublicKey
	// contains filtered or unexported fields
}

NerdAPI holds a reference to a nerdalize auth token. A credentials provider is needed to provide this value.

func NewNerdAPI

func NewNerdAPI(pub *ecdsa.PublicKey, provider Provider) *NerdAPI

NewNerdAPI creates a new credentials.NerdAPI struct.

func (*NerdAPI) Get

func (n *NerdAPI) Get() (*NerdAPIValue, error)

Get the nerd token. This function checks with the provider whether the token is expired and if so retrieves a new token from the provider.

func (*NerdAPI) GetClaims

func (n *NerdAPI) GetClaims() (*payload.NerdClaims, error)

GetClaims calls Get() and decodes the token string into a NerdClaims object.

type NerdAPIValue

type NerdAPIValue struct {
	NerdToken string
}

NerdAPIValue is the value struct that contains credential values.

type Provider

type Provider interface {
	IsExpired() bool
	Retrieve(*ecdsa.PublicKey) (*NerdAPIValue, error)
}

Provider is a credential provider that gives a NerdAPIValue when Retrieve is called. A provider can define it's own logic of where to fetch this NerdAPIValue from.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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