Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthJwks ¶ added in v1.1.3
type AuthJwks struct {
Name string `json:"name"`
Jwks string `json:"jwks"`
CreatedAt time.Time `json:"created_at"`
}
AuthJwks Struct
type AuthToken ¶
type AuthToken struct {
Name string `json:"name"`
Token string `json:"token"`
CreatedAt time.Time `json:"created_at"`
}
AuthToken Struct
type ClientProvider ¶
type ClientProvider struct {
AuthGrantType string
AuthClientID string
AuthClientSecret string
AuthAudience string
AuthURL string
Environment string
// contains filtered or unexported fields
}
ClientProvider ...
func NewAuth0Client ¶
func NewAuth0Client(env, authGrantType, authClientID, authClientSecret, authAudience, authURL string, httpClient HTTPClientProvider, esClient ESClientProvider, slackClient SlackProvider, appName string) (*ClientProvider, error)
NewAuth0Client ...
func (*ClientProvider) RefreshToken ¶
func (a *ClientProvider) RefreshToken() (RefreshResult, error)
RefreshToken check if token will expire soon, if yes refresh it and save new token to cache storage
type ESClientProvider ¶
type ESClientProvider interface {
CreateDocument(index, documentID string, body []byte) ([]byte, error)
Search(index string, query map[string]interface{}) ([]byte, error)
CreateIndex(index string, body []byte) ([]byte, error)
Get(index string, query map[string]interface{}, result interface{}) error
UpdateDocument(index string, id string, body interface{}) ([]byte, error)
BulkInsert(data []elastic.BulkData) ([]byte, error)
}
ESClientProvider used in connecting to ES server
type ESJwksSchema ¶ added in v1.1.3
type ESJwksSchema struct {
Took int `json:"took"`
TimedOut bool `json:"timed_out"`
Shards struct {
Total int `json:"total"`
Successful int `json:"successful"`
Skipped int `json:"skipped"`
Failed int `json:"failed"`
} `json:"_shards"`
Hits struct {
Total struct {
Value int `json:"value"`
Relation string `json:"relation"`
} `json:"total"`
MaxScore float64 `json:"max_score"`
Hits []struct {
Index string `json:"_index"`
Type string `json:"_type"`
ID string `json:"_id"`
Score float64 `json:"_score"`
Source struct {
Name string `json:"name"`
Jwks string `json:"jwks"`
CreatedAt time.Time `json:"created_at"`
} `json:"_source"`
} `json:"hits"`
} `json:"hits"`
}
ESJwksSchema ...
type ESTokenSchema ¶
type ESTokenSchema struct {
Took int `json:"took"`
TimedOut bool `json:"timed_out"`
Shards struct {
Total int `json:"total"`
Successful int `json:"successful"`
Skipped int `json:"skipped"`
Failed int `json:"failed"`
} `json:"_shards"`
Hits struct {
Total struct {
Value int `json:"value"`
Relation string `json:"relation"`
} `json:"total"`
MaxScore float64 `json:"max_score"`
Hits []struct {
Index string `json:"_index"`
Type string `json:"_type"`
ID string `json:"_id"`
Score float64 `json:"_score"`
Source struct {
Name string `json:"name"`
Token string `json:"token"`
} `json:"_source"`
} `json:"hits"`
} `json:"hits"`
}
ESTokenSchema for AuthToken
type HTTPClientProvider ¶
type HTTPClientProvider interface {
Request(url string, method string, header map[string]string, body []byte, params map[string]string) (statusCode int, resBody []byte, err error)
}
HTTPClientProvider used in connecting to remote http server
type JSONWebKeys ¶
type JSONWebKeys struct {
Kty string `json:"kty"`
Kid string `json:"kid"`
Use string `json:"use"`
N string `json:"n"`
E string `json:"e"`
X5c []string `json:"x5c"`
}
JSONWebKeys auth0 token key
type Jwks ¶
type Jwks struct {
Keys []JSONWebKeys `json:"keys"`
}
Jwks result from auth0 well know keys
type LastActionSchema ¶
type LastActionSchema struct {
Took int `json:"took"`
TimedOut bool `json:"timed_out"`
Shards struct {
Total int `json:"total"`
Successful int `json:"successful"`
Skipped int `json:"skipped"`
Failed int `json:"failed"`
} `json:"_shards"`
Hits struct {
Total struct {
Value int `json:"value"`
Relation string `json:"relation"`
} `json:"total"`
MaxScore float64 `json:"max_score"`
Hits []struct {
Index string `json:"_index"`
Type string `json:"_type"`
ID string `json:"_id"`
Score float64 `json:"_score"`
Source struct {
Date time.Time `json:"date"`
} `json:"_source"`
} `json:"hits"`
} `json:"hits"`
}
LastActionSchema ...
type RefreshResult ¶
type RefreshResult string
RefreshResult ...
const ( // RefreshError ... RefreshError RefreshResult = "error refreshing auth0 token" // RefreshSuccessful ... RefreshSuccessful RefreshResult = "token refreshed successfully" // NotExpireSoon ... NotExpireSoon RefreshResult = "token will not expire soon" )
Click to show internal directories.
Click to hide internal directories.