mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 09:28:06 +00:00
allow reading universal auth creds from env in agent
This commit is contained in:
+18
-13
@@ -273,18 +273,26 @@ func (tm *TokenManager) GetToken() string {
|
|||||||
|
|
||||||
// Fetches a new access token using client credentials
|
// Fetches a new access token using client credentials
|
||||||
func (tm *TokenManager) FetchNewAccessToken() error {
|
func (tm *TokenManager) FetchNewAccessToken() error {
|
||||||
clientIDAsByte, err := ReadFile(tm.clientIdPath)
|
clientID := os.Getenv("INFISICAL_UNIVERSAL_AUTH_CLIENT_ID")
|
||||||
if err != nil {
|
if clientID == "" {
|
||||||
return fmt.Errorf("unable to read client id from file path '%s' due to error: %v", tm.clientIdPath, err)
|
clientIDAsByte, err := ReadFile(tm.clientIdPath)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("unable to read client id from file path '%s' due to error: %v", tm.clientIdPath, err)
|
||||||
|
}
|
||||||
|
clientID = string(clientIDAsByte)
|
||||||
}
|
}
|
||||||
|
|
||||||
clientSecretAsByte, err := ReadFile(tm.clientSecretPath)
|
clientSecret := os.Getenv("INFISICAL_UNIVERSAL_CLIENT_SECRET")
|
||||||
if err != nil {
|
if clientSecret == "" {
|
||||||
if len(tm.cachedClientSecret) == 0 {
|
clientSecretAsByte, err := ReadFile(tm.clientSecretPath)
|
||||||
return fmt.Errorf("unable to read client secret from file and no cached client secret found: %v", err)
|
if err != nil {
|
||||||
} else {
|
if len(tm.cachedClientSecret) == 0 {
|
||||||
clientSecretAsByte = []byte(tm.cachedClientSecret)
|
return fmt.Errorf("unable to read client secret from file and no cached client secret found: %v", err)
|
||||||
|
} else {
|
||||||
|
clientSecretAsByte = []byte(tm.cachedClientSecret)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
clientSecret = string(clientSecretAsByte)
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove client secret after first read
|
// remove client secret after first read
|
||||||
@@ -292,13 +300,10 @@ func (tm *TokenManager) FetchNewAccessToken() error {
|
|||||||
os.Remove(tm.clientSecretPath)
|
os.Remove(tm.clientSecretPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
clientId := string(clientIDAsByte)
|
|
||||||
clientSecret := string(clientSecretAsByte)
|
|
||||||
|
|
||||||
// save as cache in memory
|
// save as cache in memory
|
||||||
tm.cachedClientSecret = clientSecret
|
tm.cachedClientSecret = clientSecret
|
||||||
|
|
||||||
err, loginResponse := universalAuthLogin(clientId, clientSecret)
|
err, loginResponse := universalAuthLogin(clientID, clientSecret)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user