docs: def decode_jwt_payload(self, access_token=None):
          """Extract payload field from JWT.
  
          Args:
              access_token (str): Access token to decode. Defaults to ``None``.
  
          Returns:
              dict: JSON object that contains the claims conveyed by the JWT.
  
          """
          c = self.get_credentials()
          jwt = access_token or c.access_token
          try:
              _, payload, _ = jwt.split('.')  # header, payload, sig
              rem = len(payload) % 4
              if rem > 0:  # add padding
                  payload += '=' * (4 - rem)
              try:
                  decoded_jwt = b64decode(payload).decode("utf-8")
              except TypeError as e:
                  raise PanCloudError(
                      "Failed to base64 decode JWT: %s" % e)
              else:
                  try:
                      x = loads(decoded_jwt)
                  except ValueError as e:
                      raise PanCloudError("Invalid JSON: %s" % e)
          except (AttributeError, ValueError) as e:
              raise PanCloudError("Invalid JWT: %s" % e)
  
          return x