auth

package
v0.14.5 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2020 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const WaitBeforeRefreshSeconds = 15

Variables

View Source
var RefreshBeforeExpiryMinutes = int64(10)

Refreshable Tokens Constants.

Functions

func ExtractExpiryFromAccessToken

func ExtractExpiryFromAccessToken(token string) (int, error)

Extracts the expiry from an access token, in seconds

func ExtractUsernameFromAccessToken

func ExtractUsernameFromAccessToken(token string) (string, error)

func GetTokenMinutesLeft

func GetTokenMinutesLeft(token string) (int64, error)

Returns 0 if expired

func IsEncrypted

func IsEncrypted(buffer []byte) (bool, error)

func SshAuthentication

func SshAuthentication(url, sshKeyPath, sshPassphrase string) (sshAuthHeaders map[string]string, newUrl string, err error)

func SshTokenRefreshPreRequestInterceptor

func SshTokenRefreshPreRequestInterceptor(fields *CommonConfigFields, httpClientDetails *httputils.HttpClientDetails) error

Handles the process of acquiring a new ssh token

Types

type CommonConfigFields

type CommonConfigFields struct {
	Url                    string                      `json:"-"`
	User                   string                      `json:"-"`
	Password               string                      `json:"-"`
	ApiKey                 string                      `json:"-"`
	AccessToken            string                      `json:"-"`
	PreRequestInterceptors []PreRequestInterceptorFunc `json:"-"`
	ClientCertPath         string                      `json:"-"`
	ClientCertKeyPath      string                      `json:"-"`
	Version                string                      `json:"-"`
	SshUrl                 string                      `json:"-"`
	SshKeyPath             string                      `json:"-"`
	SshPassphrase          string                      `json:"-"`
	SshAuthHeaders         map[string]string           `json:"-"`
	TokenMutex             sync.Mutex
}

func (*CommonConfigFields) AppendPreRequestInterceptor

func (ccf *CommonConfigFields) AppendPreRequestInterceptor(interceptor PreRequestInterceptorFunc)

func (*CommonConfigFields) AuthenticateSsh

func (ccf *CommonConfigFields) AuthenticateSsh(sshKeyPath, sshPassphrase string) error

func (*CommonConfigFields) CreateHttpClientDetails

func (ccf *CommonConfigFields) CreateHttpClientDetails() httputils.HttpClientDetails

func (*CommonConfigFields) GetAccessToken

func (ccf *CommonConfigFields) GetAccessToken() string

func (*CommonConfigFields) GetApiKey

func (ccf *CommonConfigFields) GetApiKey() string

func (*CommonConfigFields) GetClientCertKeyPath

func (ccf *CommonConfigFields) GetClientCertKeyPath() string

func (*CommonConfigFields) GetClientCertPath

func (ccf *CommonConfigFields) GetClientCertPath() string

func (*CommonConfigFields) GetPassword

func (ccf *CommonConfigFields) GetPassword() string

func (*CommonConfigFields) GetPreRequestInterceptor

func (ccf *CommonConfigFields) GetPreRequestInterceptor() []PreRequestInterceptorFunc

func (*CommonConfigFields) GetSshAuthHeaders

func (ccf *CommonConfigFields) GetSshAuthHeaders() map[string]string

func (*CommonConfigFields) GetSshKeyPath

func (ccf *CommonConfigFields) GetSshKeyPath() string

func (*CommonConfigFields) GetSshPassphrase

func (ccf *CommonConfigFields) GetSshPassphrase() string

func (*CommonConfigFields) GetSshUrl

func (ccf *CommonConfigFields) GetSshUrl() string

func (*CommonConfigFields) GetUrl

func (ccf *CommonConfigFields) GetUrl() string

func (*CommonConfigFields) GetUser

func (ccf *CommonConfigFields) GetUser() string

func (*CommonConfigFields) InitSsh

func (ccf *CommonConfigFields) InitSsh() error

func (*CommonConfigFields) IsSshAuthHeaderSet

func (ccf *CommonConfigFields) IsSshAuthHeaderSet() bool

func (*CommonConfigFields) IsSshAuthentication

func (ccf *CommonConfigFields) IsSshAuthentication() bool

func (*CommonConfigFields) RunPreRequestInterceptors

func (ccf *CommonConfigFields) RunPreRequestInterceptors(httpClientDetails *httputils.HttpClientDetails) error

Runs an interceptor before sending a request via the http client

func (*CommonConfigFields) SetAccessToken

func (ccf *CommonConfigFields) SetAccessToken(accessToken string)

func (*CommonConfigFields) SetApiKey

func (ccf *CommonConfigFields) SetApiKey(apiKey string)

func (*CommonConfigFields) SetClientCertKeyPath

func (ccf *CommonConfigFields) SetClientCertKeyPath(certificatePath string)

func (*CommonConfigFields) SetClientCertPath

func (ccf *CommonConfigFields) SetClientCertPath(certificatePath string)

func (*CommonConfigFields) SetPassword

func (ccf *CommonConfigFields) SetPassword(password string)

func (*CommonConfigFields) SetSshAuthHeaders

func (ccf *CommonConfigFields) SetSshAuthHeaders(sshAuthHeaders map[string]string)

func (*CommonConfigFields) SetSshKeyPath

func (ccf *CommonConfigFields) SetSshKeyPath(sshKeyPath string)

func (*CommonConfigFields) SetSshPassphrase

func (ccf *CommonConfigFields) SetSshPassphrase(sshPassphrase string)

func (*CommonConfigFields) SetSshUrl

func (ccf *CommonConfigFields) SetSshUrl(sshUrl string)

func (*CommonConfigFields) SetUrl

func (ccf *CommonConfigFields) SetUrl(url string)

func (*CommonConfigFields) SetUser

func (ccf *CommonConfigFields) SetUser(user string)

type PreRequestInterceptorFunc

type PreRequestInterceptorFunc func(*CommonConfigFields, *httputils.HttpClientDetails) error

Implement this function and append it to create an interceptor that will run pre request in the http client

type ServiceDetails

type ServiceDetails interface {
	GetUrl() string
	GetUser() string
	GetPassword() string
	GetApiKey() string
	GetAccessToken() string
	GetPreRequestInterceptor() []PreRequestInterceptorFunc
	GetClientCertPath() string
	GetClientCertKeyPath() string
	GetSshUrl() string
	GetSshKeyPath() string
	GetSshPassphrase() string
	GetSshAuthHeaders() map[string]string
	GetVersion() (string, error)

	SetUrl(url string)
	SetUser(user string)
	SetPassword(password string)
	SetApiKey(apiKey string)
	SetAccessToken(accessToken string)
	AppendPreRequestInterceptor(PreRequestInterceptorFunc)
	SetClientCertPath(certificatePath string)
	SetClientCertKeyPath(certificatePath string)
	SetSshUrl(url string)
	SetSshKeyPath(sshKeyPath string)
	SetSshPassphrase(sshPassphrase string)
	SetSshAuthHeaders(sshAuthHeaders map[string]string)

	IsSshAuthHeaderSet() bool
	IsSshAuthentication() bool
	AuthenticateSsh(sshKey, sshPassphrase string) error
	InitSsh() error
	RunPreRequestInterceptors(httpClientDetails *httputils.HttpClientDetails) error

	CreateHttpClientDetails() httputils.HttpClientDetails
}

type SshAuthResult

type SshAuthResult struct {
	Href    string
	Headers map[string]string
}

type TokenPayload

type TokenPayload struct {
	Subject        string `json:"sub,omitempty"`
	Scope          string `json:"scp,omitempty"`
	Audience       string `json:"aud,omitempty"`
	Issuer         string `json:"iss,omitempty"`
	ExpirationTime int    `json:"exp,omitempty"`
	IssuedAt       int    `json:"iat,omitempty"`
	JwtId          string `json:"jti,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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