internal/iapclient: create configuration directory

The configuration directory must be created before the token is stored
in it. This change ensures that the directory exists before attempting
to store the newly created token in it.

Updates golang/go#48739

Change-Id: I2db71485c166ba094e61690533849c33913a5530
Reviewed-on: https://go-review.googlesource.com/c/build/+/367535
Trust: Carlos Amedee <carlos@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/internal/iapclient/iapclient.go b/internal/iapclient/iapclient.go
index 0a969f6..4750f61 100644
--- a/internal/iapclient/iapclient.go
+++ b/internal/iapclient/iapclient.go
@@ -55,6 +55,10 @@
 	if err != nil {
 		return err
 	}
+	err = os.Mkdir(filepath.Join(configDir, "gomote"), 0755)
+	if err != nil {
+		return err
+	}
 	return os.WriteFile(filepath.Join(configDir, "gomote/iap-refresh-token"), refreshBytes, 0600)
 }