package auth import ( "encoding/json" "os" "golang.org/x/oauth2" ) type TokenStore struct { filePath string } func (ts *TokenStore) Save(token *oauth2.Token) error { data, err := json.Marshal(token) if err != nil { return err } return os.WriteFile(ts.filePath, data, 0600) } func (ts *TokenStore) Load() (*oauth2.Token, error) { data, err := os.ReadFile(ts.filePath) if err != nil { return nil, err } var token oauth2.Token if err := json.Unmarshal(data, &token); err != nil { return nil, err } return &token, nil }