Hello,
I'm experimenting with creation of Things via POST using HTTP through a TCP socket to solve a particular problem.
POST /Thingworx/Resources/EntityServices/Services/CreateThing?appKey=ac5fddf2-760d-48ae-9a90-d73d23fd90ba HTTP/1.1
Content-Type: application/json
Host: <...>
Connection: close
User-Agent: MyFirmware
Content-Length: 51
{"name":"test1","thingTemplateName":"GenericThing"}
This works fine provided the appKey is tied to the system Administrator account. I tried to edit Design/Run Time permissions for CreateThing to permit a specific user that has an app key and I receive a message that you cannot edit system objects.
Does the system administrator account have to be used for remote execution of system resource services? I don't see a way to specify a user as a system admin.
Thank you,
Nick
Nick, you won't actually be able to 'edit' system objects. For example, in your case, if you want to access the permissions screen for the EntityServices Resource, you can click on the Resources menu, and instead of opening EntityServices, click on the lock icon at the far right in the same row. That will bring up the Visibility/ RunTime and DesignTime screens where you can edit/ add your specific user.
Great, thank you, Aanjan.
Please note that in these situations Best Practice is to allow a System user to have permission to these services, but to create 'wrapped' services that then leverage the System user. This way you can properly secure 'Administrative' services.
Hi Pai,
Is there an example for wrapping a service to be invoked by a different (system) user on the platform?
Thanks,
Sajid