Is it okay to have two application keys for the user in the ThingWorx platform and if yes, how does the corresponding thing uses a particular application key ?
Application keys should be used to give external systems access to the Thingworx Platform and you should use one application key per external application. For example, if I am interacting with Thingworx via an Edge application using one of the Edge SDKs, each remote application would have its own app key.
I believe you're asking if it's a valid solution to have two+ app keys that are using the same User (permission) reference?
Yes, you can do something like that, but I can see only one use case for that: when you have different things that are using those app keys, but in the future you'd like to have an opportunity to change one of the app keys user reference without touching app key user reference of the other one.
App Keys gets the permissions from the reference user (so, if you set reference user as an Administrator, this app key authorization would permit to do practically everything on the Platform). That's why if you have two app keys with the same user reference - both app keys have the same permissions on the Platform.
Hope I cleared the matter a little bit, if no - don't hesitate to ask further.
No problem If you consider the answer as a good one, you can mark it as a "Good answer" for other users to refer.
If you will encounter any problem, don't hesitate to ask.