Package app: Check all fields of the OAuth token for equality.
[kraftakt.git] / app / user.go
index 1215653..d5b8452 100644 (file)
@@ -121,7 +121,10 @@ func (s *persistingTokenSource) Token() (*oauth2.Token, error) {
                return nil, err
        }
 
-       if s.t.RefreshToken != tok.RefreshToken {
+       if s.t.AccessToken != tok.AccessToken ||
+               s.t.TokenType != tok.TokenType ||
+               s.t.RefreshToken != tok.RefreshToken ||
+               !s.t.Expiry.Equal(tok.Expiry) {
                if _, err := datastore.Put(s.ctx, s.key, tok); err != nil {
                        log.Errorf(s.ctx, "persisting OAuth token in datastore failed: %v", err)
                }