We have a PHP REST API and an angularjs client.
We don't have and won't have any native clients, only the browser.
an attacker has made a fake website with fake accounts doing all payments with it and we're on the goal to prevent that.
Now we found a way to prevent a website server from accessing our API and the browser can't make the cross-domain request but nothing prevents an attacker from making a desktop app that accesses our API.
How to detect that the client is a browser and not a native client ?
PS
I know that browsers can be embedded in desktop apps and for now I'm ok with that, just not a pure native client.