code: def authenticate(self, username, password):
          
          r = requests.post(self.apiurl + "/token",
                            params={"grant_type": "password", "username": username, "password": password,
                                    "client_id": self.cid, "client_secret": self.csecret})
  
          if r.status_code != 200:
              raise ServerError
  
          jsd = r.json()
  
          if self.remember:
              self.token_storage[username] = {'token': jsd['access_token'], 'refresh': jsd['refresh_token'],
                                              'expiration': int(jsd['created_at']) + int(jsd['expires_in'])}
  
          return jsd['access_token'], int(jsd['expires_in']) + int(jsd['created_at']), jsd['refresh_token']
docs: Obtain an oauth token. Pass username and password. Get a token back. If KitsuAuth is set to remember your tokens
          for this session, it will store the token under the username given.
  
          :param username: username
          :param password: password
          :param alias: A list of alternative names for a person if using the KitsuAuth token storage
          :return: A tuple of (token, expiration time in unix time stamp, refresh_token) or ServerError