mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
cache creds for keys/credentials auth type
This commit is contained in:
parent
83b79dd624
commit
d31f264576
@ -96,7 +96,7 @@ var awsCredentialCache map[string]cache = make(map[string]cache)
|
|||||||
var credentialCacheLock sync.RWMutex
|
var credentialCacheLock sync.RWMutex
|
||||||
|
|
||||||
func GetCredentials(dsInfo *DatasourceInfo) (*credentials.Credentials, error) {
|
func GetCredentials(dsInfo *DatasourceInfo) (*credentials.Credentials, error) {
|
||||||
cacheKey := dsInfo.Profile + ":" + dsInfo.AssumeRoleArn
|
cacheKey := dsInfo.AccessKey + ":" + dsInfo.Profile + ":" + dsInfo.AssumeRoleArn
|
||||||
credentialCacheLock.RLock()
|
credentialCacheLock.RLock()
|
||||||
if _, ok := awsCredentialCache[cacheKey]; ok {
|
if _, ok := awsCredentialCache[cacheKey]; ok {
|
||||||
if awsCredentialCache[cacheKey].expiration != nil &&
|
if awsCredentialCache[cacheKey].expiration != nil &&
|
||||||
@ -150,6 +150,10 @@ func GetCredentials(dsInfo *DatasourceInfo) (*credentials.Credentials, error) {
|
|||||||
sessionToken = *resp.Credentials.SessionToken
|
sessionToken = *resp.Credentials.SessionToken
|
||||||
expiration = resp.Credentials.Expiration
|
expiration = resp.Credentials.Expiration
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
now := time.Now()
|
||||||
|
e := now.Add(5 * time.Minute)
|
||||||
|
expiration = &e
|
||||||
}
|
}
|
||||||
|
|
||||||
sess, err := session.NewSession()
|
sess, err := session.NewSession()
|
||||||
|
Loading…
Reference in New Issue
Block a user