class_docstr: BoxApp integration
class_docstr_tok: ["BoxApp","integration"]
code: def _required_auth_info(cls):
      # Use a validation function to ensure the file the user provides is valid
      def keyfile_validator(keyfile):
          """A JSON formatted Box service account private key file key"""
          try:
              with open(keyfile.strip(), "r") as json_keyfile:
                  auth_data = json.load(json_keyfile)
          except (IOError, ValueError):
              return False
  
          if not cls._load_auth(auth_data):
              return False
  
          return auth_data
  
      return {
          "keyfile": {
              "description": (
                  "the path on disk to the JSON formatted Box "
                  "service account private key file"
              ),
              "format": keyfile_validator,
          }
      }
  
file_path: streamalert/streamalert/apps/_apps/box.py
imports: import json
  from boxsdk import Client, JWTAuth
  from boxsdk.exception import BoxException
  from boxsdk.object.events import EnterpriseEventsStreamType
  import requests
  from .None import AppIntegration, StreamAlertApp, get_logger, safe_timeout
label_desc: Use image node_id 9 for calling the BoxApp obj's underlying member method code with example usage: obj._required_auth_info(cls) and returns: dict, auth_data, False, False