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) SetHttpTimeout(httpTimeout 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 InviteRefreshBeforeExpiryMinutes = int64(365*24*60 - 50)
InviteRefreshBeforeExpiryMinutes Invitations mechanism creates tokens that are valid for 1 year. We want to refresh the token every 50 minutes.
View Source
var RefreshBeforeExpiryMinutes = int64(10)
RefreshBeforeExpiryMinutes Artifactory's refresh token mechanism creates tokens that expired in 60 minutes. We want to refresh them after 50 minutes (when 10 minutes left)
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) SetHttpTimeout ¶
func (ccf *CommonConfigFields) SetHttpTimeout(httpTimeout 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 int `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"` }
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) SetHttpTimeout(httpTimeout 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.