json_schema: {
      "$schema": "http://json-schema.org/draft-06/schema#",
      "definitions": {
          "geolocalizedIP": {
              "properties": {
                  "city_name": {
                      "type": "string"
                  },
                  "continent_code": {
                      "type": "string"
                  },
                  "country_code": {
                      "maxLength": 2,
                      "minLength": 2,
                      "type": "string"
                  },
                  "country_code3": {
                      "maxLength": 3,
                      "minLength": 3,
                      "type": "string"
                  },
                  "country_name": {
                      "type": "string"
                  },
                  "latitude": {
                      "type": "number"
                  },
                  "longitude": {
                      "type": "number"
                  },
                  "time_zone": {
                      "type": "string"
                  }
              },
              "required": [
                  "country_code",
                  "country_code3",
                  "country_name",
                  "city_name",
                  "latitude",
                  "longitude",
                  "time_zone",
                  "continent_code"
              ],
              "type": "object"
          }
      },
      "description": "Auth0 rules context",
      "properties": {
          "accessToken": {
              "default": {},
              "type": "object"
          },
          "clientID": {
              "type": "string"
          },
          "clientMetadata": {
              "default": {},
              "type": "object"
          },
          "clientName": {
              "type": "string"
          },
          "connection": {
              "type": "string"
          },
          "connectionStrategy": {
              "type": "string"
          },
          "idToken": {
              "default": {},
              "type": "object"
          },
          "jwtConfiguration": {
              "default": {},
              "properties": {
                  "lifetimeInSeconds": {
                      "minium": 1,
                      "type": "number"
                  },
                  "scopes": {}
              },
              "type": "object"
          },
          "protocol": {
              "enum": [
                  "oidc-basic-profile",
                  "oidc-implicit-profile",
                  "oauth2-resource-owner",
                  "oauth2-resource-owner-jwt-bearer",
                  "oauth2-password",
                  "oauth2-refresh-token",
                  "samlp",
                  "wsfed",
                  "wstrust-usernamemixed",
                  "delegation",
                  "redirect-callback"
              ],
              "type": "string"
          },
          "request": {
              "properties": {
                  "body": {
                      "default": {},
                      "type": "object"
                  },
                  "geoip": {
                      "$ref": "#/definitions/geolocalizedIP"
                  },
                  "hostname": {
                      "_format": "hostname",
                      "type": "string"
                  },
                  "ip": {
                      "_format": "ipv4",
                      "type": "string"
                  },
                  "query": {
                      "default": {},
                      "type": "object"
                  },
                  "userAgent": {
                      "type": "string"
                  }
              },
              "required": [
                  "userAgent",
                  "ip",
                  "hostname",
                  "geoip"
              ],
              "type": "object"
          },
          "samlConfiguration": {
              "default": {},
              "type": "object"
          },
          "sessionID": {
              "type": "string"
          },
          "sso": {
              "default": {},
              "properties": {
                  "current_clients": {
                      "type": "string"
                  },
                  "with_auth0": {
                      "type": "boolean"
                  },
                  "with_dbconn": {
                      "type": "boolean"
                  }
              },
              "type": "object"
          },
          "stats": {
              "default": {},
              "type": "object"
          }
      },
      "required": [
          "clientID",
          "clientName",
          "connection",
          "connectionStrategy",
          "protocol",
          "sessionID",
          "request"
      ],
      "type": "object"
  }