We’ve a problem refreshing token on iOS application in swift.
We set openid offline_access read update:users update:users_app_metadata
scope at login.
But when we ask to refresh via the “renew” method, “id_token” is always empty.
How to get a new id_token returned when renew is called ?
You did not specify the exact method through which you login so this is more an educated guess than a definitive answer, however, based on the information available it’s highly likely that you performed a login through a method that is associated to a legacy feature set and then are trying to use renew
which is associated to a newer feature set.
At this time, the recommended and newer feature set revolves around API authorization and OpenID Connect (OIDC) compliance. However, we could not remove already existing endpoints that were already available even before the final version of the specification was available as that would break existing users.
The documentation of the renew
method either in GitHub or CocoaDocs hints at the situation that may be causing the error, more specifically, if you are using an authentication method that does not leverage API authorization or OIDC compliance then the refresh token should be used with the method delegation
instead of renew
.
If you’re starting development for a new application the recommended approach would be to make use of the endpoints that support API authorization and at the same time more strictly follow OIDC. You can read more about these topics at: