From 76098c159dce6ffb4d9cb53c39cf09a1e5bc0c62 Mon Sep 17 00:00:00 2001 From: Danny Sauer Date: Mon, 1 Jun 2026 21:25:57 -0500 Subject: [PATCH] fix(browser): create storageState dir if missing context.StorageState() silently fails when ~/.aws/saml2aws/ doesn't exist, which means sessions never persist on a fresh install. Add an os.MkdirAll call before writing so the directory is always present. Fixes: https://github.com/Versent/saml2aws/issues/[TBD] --- pkg/provider/browser/browser.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/provider/browser/browser.go b/pkg/provider/browser/browser.go index 0681589b1..894a41146 100644 --- a/pkg/provider/browser/browser.go +++ b/pkg/provider/browser/browser.go @@ -5,6 +5,7 @@ import ( "fmt" "net/url" "os" + "path/filepath" "regexp" "strings" @@ -136,6 +137,9 @@ func (cl *Client) Authenticate(loginDetails *creds.LoginDetails) (string, error) defer func() { logger.Info("saving storage state") + if err := os.MkdirAll(filepath.Dir(storageStatePath), 0700); err != nil { + logger.Info("Error creating saml2aws directory", err) + } _, err := context.StorageState(storageStatePath) if err != nil { logger.Info("Error saving storage state", err)