On an Okta instance sourcing users from a directory (Workday) while doing an update_user on a user profile containing an empty string array inherited from a profile source will fail with the error Okta HTTP 403 E0000023 Operation failed because user profile is mastered under another system.
The problem seems to be related to the difference of opinions that the sdk and the Okta server have of what an "empty string array" is. The sdk omits the attribute from the response (probably the correct interpretation) since "it's empty" but apparently the server sees '[""]' -> null, tries to perform the update and fails.
To replicate:
define a custom attribute as a string array
map such attribute to some directory value and set the source priority to Inherit from profile source
use update_user to update ANY other attribute that you're supposed to be able to update
On an Okta instance sourcing users from a directory (Workday) while doing an
update_user
on a user profile containing an empty string array inherited from a profile source will fail with the errorOkta HTTP 403 E0000023 Operation failed because user profile is mastered under another system
.The problem seems to be related to the difference of opinions that the sdk and the Okta server have of what an "empty string array" is. The sdk omits the attribute from the response (probably the correct interpretation) since "it's empty" but apparently the server sees '[""]' -> null, tries to perform the update and fails.
To replicate:
Inherit from profile source
update_user
to update ANY other attribute that you're supposed to be able to update