Refresh Token being exchanged when access token refresh is required

4034
2
11-15-2019 03:41 PM
BrendaParker
New Contributor

I've been troubleshooting an issue with OAuth token refresh issues in our app that started around the time we updated to 100.6.  The issue is manifesting as users needing to re-login every app launch.

Our app is using the OAuthAuthorizationCode grant type so we can retrieve a refresh token.

It appears that the runtime is making an "exchange_refresh_token" request instead of a standard "refresh_token" request when an access token has expired.  We haven't seen this behaviour prior to 100.6.  We have been caching the refresh token so our users would not need to login on every app restart, but with this change to "exchange_refresh_token" we no longer have a valid refresh token cached if the user is using an app longer then 30 minutes (access token length).  I cannot discover a way to detect when the refresh token is change.  The credentials object does have a PropertyChanged event, but this is not invoked when the refresh token changes, only when the access token changes.

This is a major breaking change for our app and I'd like to understand why the runtime is making an "exchange_token_refresh" request.  Was this introduced in 100.6?  If it was, was it to solve a specific issue or improve security?

Would someone be able to point me in the direction of how to detect when the refresh token is updated by the runtime?

Tags (2)
0 Kudos
2 Replies
MichaelBranscomb
Esri Frequent Contributor

Brenda,

We're currently investigating this issue. I'll update this thread as soon as i have more information.

Regards

Mike

0 Kudos
MichaelBranscomb
Esri Frequent Contributor

Brenda,

Please email me on mbranscomb@esri.com. I would like to arrange for you to test a preview of 100.7.

Regards

Mike

0 Kudos