We are currently integrating Workforce Identity Federation with Okta via SCIM and are experiencing an issue during user deactivation and reactivation cycles where users occasionally remain inactive after being re-activated.
When observing the SCIM traffic, we see the following sequence of calls:
ListUser → PatchUser (active:true) → GetUser (active:false) → PutUser (active:false)
Due to our distributed system architecture and the timing of these calls, this sequence leads to replication lag and race conditions, causing some users to incorrectly end up in an inactive state.
We would like to refer to the following documentation article regarding configuration options: Get the SCIM integration to use PUT requests instead of PATCH when updating users.
Could the developer team please clarify:
- How this configuration behaves in practice regarding user state updates?
- How we can prevent the race condition where a reactivation results in the user being set to inactive due to this request sequence?
Any guidance or troubleshooting steps would be greatly appreciated.