[Credential Stores - Azure Key Vault] Why is the error "2304, Message - 'Failed to read * from Credential Store " observed while reading a credential asset that contain a backslash (\) character?
Issue Description:
When a credential asset starting with or containing a backslash character (\) in the password value is read from the Azure Key Vault using the 'Get Credential' activity, the following error is observed:
UiPath.Orchestrator.Core.Exceptions.BusinessConflictException: Error code - 2304, Message - 'Failed to read uip from Credential Store type AzureKeyVault (read only)'---> Newtonsoft.Json.JsonReaderException: Bad JSON escape sequence: \#. Path 'Password', line 1, position 45.
Explanation:
The secret value stored in Azure key vault for Orchestrator integration are stored in JSON format. According to the documention of the Storing Assets in Azure Key Vault ( read only), the secret value must be a .json string with the format {"Username": "user", "Password": "pass"}".
A backslash character (/) in the value renders the JSON format invalid because the backslash character (\) is considered an escape character, leading to the above error.
example:
{"Username": "admin", "Password": "welcome\1234"}
Workaround:
- Add an extra backslash (\) in the password value so that it will not behave as an escape character. Example: {"Username": "admin", "Password": "welcome\\1234"}
- If feasible, the backslash character (\) should be avoided/bypassed for passwords.