Documentation
¶
Index ¶
- Constants
- Variables
- func ExtractExpiryFromAccessToken(token string) (int, error)
- func ExtractSubjectFromAccessToken(token string) (string, error)
- func ExtractUsernameFromAccessToken(token string) (username string)
- func GetTokenMinutesLeft(token string) (int64, error)
- func IsEncrypted(buffer []byte) (bool, error)
- func SshAuthentication(url, sshKeyPath, sshPassphrase string) (sshAuthHeaders map[string]string, newUrl string, err error)
- func SshTokenRefreshPreRequestInterceptor(fields *CommonConfigFields, httpClientDetails *httputils.HttpClientDetails) error
- type CommonConfigFields
- func (ccf *CommonConfigFields) AppendPreRequestFunction(interceptor ServiceDetailsPreRequestFunc)
- func (ccf *CommonConfigFields) AuthenticateSsh(sshKeyPath, sshPassphrase string) error
- func (ccf *CommonConfigFields) CreateHttpClientDetails() httputils.HttpClientDetails
- func (ccf *CommonConfigFields) GetAccessToken() string
- func (ccf *CommonConfigFields) GetApiKey() string
- func (ccf *CommonConfigFields) GetClient() *jfroghttpclient.JfrogHttpClient
- func (ccf *CommonConfigFields) GetClientCertKeyPath() string
- func (ccf *CommonConfigFields) GetClientCertPath() string
- func (ccf *CommonConfigFields) GetPassword() string
- func (ccf *CommonConfigFields) GetPreRequestFunctions() []ServiceDetailsPreRequestFunc
- func (ccf *CommonConfigFields) GetSshAuthHeaders() map[string]string
- func (ccf *CommonConfigFields) GetSshKeyPath() string
- func (ccf *CommonConfigFields) GetSshPassphrase() string
- func (ccf *CommonConfigFields) GetSshUrl() string
- func (ccf *CommonConfigFields) GetUrl() string
- func (ccf *CommonConfigFields) GetUser() string
- func (ccf *CommonConfigFields) InitSsh() error
- func (ccf *CommonConfigFields) IsSshAuthHeaderSet() bool
- func (ccf *CommonConfigFields) IsSshAuthentication() bool
- func (ccf *CommonConfigFields) RunPreRequestFunctions(httpClientDetails *httputils.HttpClientDetails) error
- func (ccf *CommonConfigFields) SetAccessToken(accessToken string)
- func (ccf *CommonConfigFields) SetApiKey(apiKey string)
- func (ccf *CommonConfigFields) SetClient(client *jfroghttpclient.JfrogHttpClient)
- func (ccf *CommonConfigFields) SetClientCertKeyPath(certificatePath string)
- func (ccf *CommonConfigFields) SetClientCertPath(certificatePath string)
- func (ccf *CommonConfigFields) SetDialTimeout(dialTimeout time.Duration)
- func (ccf *CommonConfigFields) SetOverallRequestTimeout(overallRequestTimeout time.Duration)
- func (ccf *CommonConfigFields) SetPassword(password string)
- func (ccf *CommonConfigFields) SetSshAuthHeaders(sshAuthHeaders map[string]string)
- func (ccf *CommonConfigFields) SetSshKeyPath(sshKeyPath string)
- func (ccf *CommonConfigFields) SetSshPassphrase(sshPassphrase string)
- func (ccf *CommonConfigFields) SetSshUrl(sshUrl string)
- func (ccf *CommonConfigFields) SetUrl(url string)
- func (ccf *CommonConfigFields) SetUser(user string)
- type CommonTokenParams
- type CreateTokenResponseData
- type ServiceDetails
- type ServiceDetailsPreRequestFunc
- type SshAuthResult
- type TokenPayload
Constants ¶
View Source
const WaitBeforeRefreshSeconds = 15
Variables ¶
View Source
var RefreshArtifactoryTokenBeforeExpiryMinutes = int64(10)
Refreshable Tokens Constants. Artifactory's refresh token mechanism creates tokens that expire in 60 minutes. We want to refresh them when 10 minutes are left.
View Source
var RefreshPlatformTokenBeforeExpiryMinutes = int64(7 * 24 * 60)
Platform's access token are created with 1 year expiry. We want to refresh the token a week before expiry.
Functions ¶
func ExtractExpiryFromAccessToken ¶
Extracts the expiry from an access token, in seconds
func ExtractSubjectFromAccessToken ¶
Extracts the subject from an access token
func GetTokenMinutesLeft ¶
Returns 0 if expired
func IsEncrypted ¶
func SshAuthentication ¶
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 []ServiceDetailsPreRequestFunc `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
// contains filtered or unexported fields
}
func (*CommonConfigFields) AppendPreRequestFunction ¶
func (ccf *CommonConfigFields) AppendPreRequestFunction(interceptor ServiceDetailsPreRequestFunc)
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) GetClient ¶
func (ccf *CommonConfigFields) GetClient() *jfroghttpclient.JfrogHttpClient
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) GetPreRequestFunctions ¶
func (ccf *CommonConfigFields) GetPreRequestFunctions() []ServiceDetailsPreRequestFunc
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) RunPreRequestFunctions ¶
func (ccf *CommonConfigFields) RunPreRequestFunctions(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) SetClient ¶
func (ccf *CommonConfigFields) SetClient(client *jfroghttpclient.JfrogHttpClient)
func (*CommonConfigFields) SetClientCertKeyPath ¶
func (ccf *CommonConfigFields) SetClientCertKeyPath(certificatePath string)
func (*CommonConfigFields) SetClientCertPath ¶
func (ccf *CommonConfigFields) SetClientCertPath(certificatePath string)
func (*CommonConfigFields) SetDialTimeout ¶
func (ccf *CommonConfigFields) SetDialTimeout(dialTimeout time.Duration)
func (*CommonConfigFields) SetOverallRequestTimeout ¶
func (ccf *CommonConfigFields) SetOverallRequestTimeout(overallRequestTimeout time.Duration)
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 CommonTokenParams ¶
type CommonTokenParams struct {
Scope string `json:"scope,omitempty"`
AccessToken string `json:"access_token,omitempty"`
ExpiresIn *uint `json:"expires_in,omitempty"`
TokenType string `json:"token_type,omitempty"`
Refreshable *bool `json:"refreshable,omitempty"`
RefreshToken string `json:"refresh_token,omitempty"`
GrantType string `json:"grant_type,omitempty"`
Audience string `json:"audience,omitempty"`
}
type CreateTokenResponseData ¶
type CreateTokenResponseData struct {
CommonTokenParams
ReferenceToken string `json:"reference_token,omitempty"`
TokenId string `json:"token_id,omitempty"`
}
type ServiceDetails ¶
type ServiceDetails interface {
GetUrl() string
GetUser() string
GetPassword() string
GetApiKey() string
GetAccessToken() string
GetPreRequestFunctions() []ServiceDetailsPreRequestFunc
GetClientCertPath() string
GetClientCertKeyPath() string
GetSshUrl() string
GetSshKeyPath() string
GetSshPassphrase() string
GetSshAuthHeaders() map[string]string
GetClient() *jfroghttpclient.JfrogHttpClient
GetVersion() (string, error)
SetUrl(url string)
SetUser(user string)
SetPassword(password string)
SetApiKey(apiKey string)
SetAccessToken(accessToken string)
AppendPreRequestFunction(ServiceDetailsPreRequestFunc)
SetClientCertPath(certificatePath string)
SetClientCertKeyPath(certificatePath string)
SetSshUrl(url string)
SetSshKeyPath(sshKeyPath string)
SetSshPassphrase(sshPassphrase string)
SetSshAuthHeaders(sshAuthHeaders map[string]string)
SetClient(client *jfroghttpclient.JfrogHttpClient)
SetDialTimeout(dialTimeout time.Duration)
SetOverallRequestTimeout(overallRequestTimeout time.Duration)
IsSshAuthHeaderSet() bool
IsSshAuthentication() bool
AuthenticateSsh(sshKey, sshPassphrase string) error
InitSsh() error
RunPreRequestFunctions(httpClientDetails *httputils.HttpClientDetails) error
CreateHttpClientDetails() httputils.HttpClientDetails
}
type ServiceDetailsPreRequestFunc ¶
type ServiceDetailsPreRequestFunc 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 SshAuthResult ¶
type TokenPayload ¶
type TokenPayload struct {
Subject string `json:"sub,omitempty"`
Scope string `json:"scp,omitempty"`
Issuer string `json:"iss,omitempty"`
ExpirationTime int `json:"exp,omitempty"`
IssuedAt int `json:"iat,omitempty"`
JwtId string `json:"jti,omitempty"`
// Audience was changed to slice. Handle this field manually so the unmarshalling will not fail.
Audience string
AudienceArray []string
}
Click to show internal directories.
Click to hide internal directories.