Skip to content
Snippets Groups Projects
Select Git revision
  • b54ec0eca71dd7751bc7e05775ab3969143f9bbc
  • main default protected
  • v1.298.0
  • v1.297.0
  • v1.296.0
  • v1.295.0
  • v1.294.0
  • v1.293.0
  • v1.292.0
  • v1.291.0
  • v1.290.0
  • v1.289.0
  • v1.288.0
  • v1.287.0
  • v1.286.0
  • v1.285.0
  • v1.284.0
  • v1.283.0
  • v1.282.0
  • v1.281.0
  • v1.280.0
  • v1.279.0
22 results

encryption_keys.go

Blame
  • encryption_keys.go 1.47 KiB
    package encryption
    
    import (
    	"encoding/json"
    	"gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/errors"
    	"gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/logs"
    	"gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/secrets_manager"
    )
    
    type EncryptionKeysSecret struct {
    	EncryptionKeysValue string `json:"EncryptionKeys"`
    }
    
    type EncryptionKeys struct {
    	FirebaseEncryptionKey string `json:"firebase_encryption_key"`
    	JWTEncryptionKey      string `json:"jwt_encryption_key"`
    }
    
    func GetEncryptionKeys(secretID string, isDebug bool) (EncryptionKeys, error) {
    	encryptionKeysSecretString, _ := secrets_manager.GetSecret(secretID, isDebug)
    
    	var encryptionKeys EncryptionKeys
    	var encryptionKeysSecret EncryptionKeysSecret
    	err := json.Unmarshal([]byte(encryptionKeysSecretString), &encryptionKeysSecret)
    	if err == nil {
    		err = json.Unmarshal([]byte(encryptionKeysSecret.EncryptionKeysValue), &encryptionKeys)
    	}
    
    	return encryptionKeys, err
    }
    
    func GetJWTEncryptionKey(secretID string, isDebug bool) (string, error) {
    	encryptionKeys, err := GetEncryptionKeys(secretID, isDebug)
    	if err != nil {
    		logs.ErrorWithMsg("Could not get encryption keys from secret manager", err)
    		return "", errors.Error("failed to get encryption keys for login")
    	}
    	return encryptionKeys.JWTEncryptionKey, nil
    }
    
    func GetFirebaseCredentialsEncryptionKey(secretID string, isDebug bool) (string, error) {
    	encryptionKeys, err := GetEncryptionKeys(secretID, isDebug)
    	return encryptionKeys.FirebaseEncryptionKey, err
    }