We’re currently working on enabling Refresh Token Rotation in our iOS app and would appreciate some guidance to ensure everything is configured correctly.
From what I understand, this feature requires OIDC Conformant mode to be enabled — and indeed, the toggle for Refresh Token Rotation only becomes active after enabling it. However, I wasn’t able to clearly identify from the documentation what specific code changes (if any) are needed on the iOS client or on our backend API once OIDC Conformant mode is turned on.
We currently use the Auth0.swift SDK, and support the following authentication flows:
- Regular WebAuth:
Auth0.webAuth(
clientId: ...,
domain: ...
)
.useEphemeralSession()
.audience(...)
.scope("openid profile email offline_access")
.start(...
- WebAuth with specific connection (e.g., Google, Facebook, Apple, Username-Password):
Auth0.webAuth(
clientId: ...,
domain: ...
)
.useEphemeralSession()
.connection(...) // e.g. "google-oauth2", "facebook", etc.
.audience(...)
.scope("openid profile email offline_access")
.start(...
- Apple native login with authorization code:
Auth0.authentication(
clientId: ...,
domain: ...
)
.login(
appleAuthorizationCode: ...,
fullName: ...,
audience: ...,
scope: "openid profile email offline_access"
)
- Username-password (resource owner password) login:
Auth0.authentication(
clientId: ...,
domain: ...
)
.login(
usernameOrEmail: ...,
password: ...,
realmOrConnection: "Username-Password-Authentication",
audience: ...,
scope: "openid profile email offline_access"
)
.start(...
We’d like to confirm:
- Are there any code changes we need to make to these login flows when enabling OIDC Conformant mode and Refresh Token Rotation?
- Are there any token format or claim differences we should account for in our backend API (which validates and uses Auth0 tokens)?
- Is it required or recommended to migrate all login methods to go through WebAuth for compatibility with rotation and OIDC?
Any clarification or best practices would be greatly appreciated. We’ve reviewed the documentation but found it unclear on the above points.
Thanks in advance for your help!
Best regards,
Oleh Repsh
iOS Developer of Life.Church app