BFT Gate Control Integration

I think they are using one of these boards and their provided API:

https://docs.particle.io/

A few pointers here:

https://docs.particle.io/reference/device-cloud/api/#generate-an-access-token

You should be able to see the URL in my code:

    def get_token(self):
        """Get new token for usage during this session."""
        args = {
            "grant_type": "password",
            "username": self._username,
            "password": self._password,
        }
        url = "{}/oauth/token".format(self.particle_url)
        ret = requests.post(url, auth=("particle", "particle"), data=args, timeout=10)

Therefore:

url = https://ucontrol-api.bft-automation.com/oauth/token

requests.post(url, auth=(“particle”, “particle”), data=args, timeout=10)

Where:

args = {
“grant_type”: “password”,
“username”: self._username,
“password”: self._password,z

An example I just ran using the particle docs:

➜  bft git:(dev) curl https://ucontrol-api.bft-automation.com/oauth/token \
       -u particle:particle \
       -d grant_type=password \
       -d "username=<user>" \
       -d "password=<pass>"
{"access_token":"<received_token","token_type":"bearer","expires_in":115430400,"refresh_token":"<received_refresh_token>","created_at":1586191227}% ➜  bft git:(dev)