Forum Discussion

PeterPhrak's avatar
PeterPhrak
Frequent Visitor
2 years ago

Custom Connector: Data Refresh Issue with Expired Access Token (Multiple Calls to /Token Endpoint)

Hi everyone,

I'm currently developing a Custom Data Connector with the PKCE OAuth2 flow.

We are having some strange issues during a data refresh when an expired access_token is provided.

From Fiddler, we can see that the initial exchange for a new token occurs successfully. But shortly thereafter, multiple calls are made to the /token endpoint using the old refresh_token. It appears that the number of subsequent calls correlates to the number of queries/tables used.

 


Other observations:

 

  • Similarly, navigating to the Connector/Navigator window will correctly refresh the token too if the access_token
  • From the screenshot, you can see a successful call to the endpoint for that single thread.
  • From Power BI Desktop, the user will be presented the SignIn/Credentials window with the error "The credentials provided are invalid" for every query in the refresh (if they selected cancel).
  • The subsequent data refresh will now work as the new tokens have been stored correctly from that first successful exchange.
    • However this is not the case for when the on-premises gateway is used.

I'm wondering if this is a known bug?

Our auth implementation is quite close to the sample: https://github.com/microsoft/DataConnectors/tree/master/samples/OAuthPKCE

Other reference with exact same issue, which seems unresolved.
https://community.fabric.microsoft.com/t5/Developer/Custom-Connector-failing-on-refreshing-data-with-multiple-calls/m-p/2608325