Skip to content

Commit 672483d

Browse files
author
Juan Pablo Ugarte
committed
Connector: refresh token if needed before metadata exchange.
Fix issue #346 "Invalid token in metadata exchange"
1 parent c54b7f7 commit 672483d

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

google/cloud/alloydb/connector/connector.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
from __future__ import annotations
1616

1717
import asyncio
18+
from google.auth.credentials import TokenState
19+
from google.auth.transport import requests
1820
from functools import partial
1921
import socket
2022
import struct
@@ -258,6 +260,10 @@ def metadata_exchange(
258260
if enable_iam_auth:
259261
auth_type = connectorspb.MetadataExchangeRequest.AUTO_IAM
260262

263+
# Ensure token is fresh
264+
if self._credentials.token_state != TokenState.FRESH:
265+
self._credentials.refresh(requests.Request())
266+
261267
# form metadata exchange request
262268
req = connectorspb.MetadataExchangeRequest(
263269
user_agent=f"{self._client._user_agent}", # type: ignore

0 commit comments

Comments
 (0)