With GET requests, you are limited to the request headers and the request string / URL of your request. You can use HMAC or OAUTH , where each request is "signed." If you are doing this purely client side, the problem with the shared secret is no longer, not a secret.
Of course, it looks like you are already making POST requests using a username and password (which I am very discouraged by, BTW)
If you need HMAC examples in action, I believe that Amazon does (or does) use HMAC to interact with S3, so there are many code examples.
Ultimately, it is very difficult to get the web client to authenticate without citizenship without revealing any “secret” information, such as passwords or private keys / tokens. You can issue temporary tokens to the user, which are then reserved by checking that the request headers (IP address, etc.) are consistent throughout the token's validity period. If you are disclosing temporary tokens to a client, you probably want your authentication mechanism to include a unique nonce per request as well.
Pure authenticated RESTful authentication is non-trivial if you want the web client to execute requests, so I would not call it REST 101 :)
source share