Files

33 lines
542 B
Go

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
}