From 6980718f0811cfea2f85d23dd2e0b4e7adb6b714 Mon Sep 17 00:00:00 2001 From: Lucy Sweet Date: Thu, 3 Feb 2022 13:40:29 +0000 Subject: [PATCH] Fix cyclic dependencies --- hashing/hashing.go | 5 ++--- oauth2/oauth2.go | 5 ++--- verified-sms.go | 6 +++--- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/hashing/hashing.go b/hashing/hashing.go index 5cc469a..4bdf973 100644 --- a/hashing/hashing.go +++ b/hashing/hashing.go @@ -7,19 +7,18 @@ import ( "crypto/x509" "encoding/base64" "github.com/monzo/terrors" - verified_sms "github.com/monzo/verifiedsms" "golang.org/x/crypto/hkdf" "io" ) // GetHashForSMSMessage returns the hash for a given SMS message sent by a given agent to a user with a given public key -func GetHashForSMSMessage(publicKeyString string, agent *verified_sms.Agent, smsMessage []byte) ([]byte, error) { +func GetHashForSMSMessage(publicKeyString string, agentPrivateKey *ecdsa.PrivateKey, smsMessage []byte) ([]byte, error) { publicKey, err := getPublicKeyFromPublicKeyPayload(publicKeyString) if err != nil { return nil, terrors.Propagate(err) } - sharedSecret, err := ecdhDeriveSecret(agent.PrivateKey, publicKey) + sharedSecret, err := ecdhDeriveSecret(agentPrivateKey, publicKey) if err != nil { return nil, terrors.Propagate(err) } diff --git a/oauth2/oauth2.go b/oauth2/oauth2.go index c211c77..28ddcfd 100644 --- a/oauth2/oauth2.go +++ b/oauth2/oauth2.go @@ -5,7 +5,6 @@ import ( "encoding/json" "encoding/pem" "github.com/monzo/terrors" - verified_sms "github.com/monzo/verifiedsms" "golang.org/x/oauth2/google" "golang.org/x/oauth2/jwt" "net/http" @@ -17,9 +16,9 @@ const ( // GetHttpClient returns a *http.Client which performs requests using the identity of the verified_sms.Partner // service account -func GetHttpClient(ctx context.Context, partner verified_sms.Partner) (*http.Client, error) { +func GetHttpClient(ctx context.Context, serviceAccountJSON string) (*http.Client, error) { serviceAccount := serviceAccountDetails{} - err := json.Unmarshal([]byte(partner.ServiceAccountJSONFile), &serviceAccount) + err := json.Unmarshal([]byte(serviceAccountJSON), &serviceAccount) if err != nil { return nil, terrors.Propagate(err) diff --git a/verified-sms.go b/verified-sms.go index 6c6a773..1489a0b 100644 --- a/verified-sms.go +++ b/verified-sms.go @@ -57,7 +57,7 @@ func (partner Partner) MarkSMSAsVerified(ctx context.Context, phoneNumber string for _, publicKey := range publicKeys { for _, smsMessageEntry := range smsMessages { - hash, err := hashing.GetHashForSMSMessage(publicKey, agent, []byte(smsMessageEntry)) + hash, err := hashing.GetHashForSMSMessage(publicKey, agent.PrivateKey, []byte(smsMessageEntry)) if err != nil { return false, terrors.Propagate(err) } @@ -86,7 +86,7 @@ func (partner Partner) MarkSMSAsVerified(ctx context.Context, phoneNumber string request.Header.Set("Content-Type", ContentTypeHeader) request.Header.Set("User-Agent", UserAgentHeader) - client, err := oauth2.GetHttpClient(ctx, partner) + client, err := oauth2.GetHttpClient(ctx, partner.ServiceAccountJSONFile) if err != nil { return false, terrors.Propagate(err) } @@ -129,7 +129,7 @@ func (partner Partner) GetPhoneNumberPublicKeys(ctx context.Context, phoneNumber request.Header.Set("Content-Type", ContentTypeHeader) request.Header.Set("User-Agent", UserAgentHeader) - client, err := oauth2.GetHttpClient(ctx, partner) + client, err := oauth2.GetHttpClient(ctx, partner.ServiceAccountJSONFile) if err != nil { return nil, terrors.Propagate(err) }