title: authentication for REST API for apps running on desktop on client side
body: <p>I need to push data from applications made in VB.net, Java, C#, C++, Node.js and other modern languages to our server. These applications are running in retail stores and our service is 3-party service. I am planning to offer REST API to push the data but my concern is how do I authenticate a  single store. </p>
  
  <p>One of the ways I thought was using the AWS way : AccessKey and Secret Key approach outlined here : 
  <a href="http://docs.aws.amazon.com/AmazonS3/latest/dev/S3_Authentication2.html" rel="nofollow noreferrer">http://docs.aws.amazon.com/AmazonS3/latest/dev/S3_Authentication2.html</a></p>
  
  <p>Each store can have multiple billing machines/computers --> so what will be a better approach to authenticate because the AWS way requires to paste the Keys from our interface to their local machine setups (At this point I am assuming our services will be directly called from the front end application rather than Back-End Servers.</p>
  
  <p>I am confused how to go about approaching this problem - if the REST API Calls should be made from front-end or back-end services and if its front-end how do I go about authenticating the store.</p>