This is a Python package that parses and verifies the Wix Instance for Wix applications that use a Python backend.
This package supports Python 2.7, 3.2, 3.3, 3.4.
In your Wix app, send the unparsed instance along with each request from the client side to your server. On the server, use this package to verify that the instance actually came from Wix to guarentee that the request is valid.
This package is available on Pypi. Install via pip.
pip install wixinstance
import wixinstance #Get the instance ID. instance_ID = wixinstance.get_instance_ID(YOUR_APP_SECRET, INSTANCE, check_owner) if instance_ID: #process the request because it is valid else: #reject the request because it is invalid #Get the entire parsed instance object parsed_instance = wixinstance.instance_parser(YOUR_APP_SECRET, INSTANCE) if parsed_instance: #process the request because it is valid else: #reject the request because it is invalid
get_instance_ID
Use this function when you need the instance ID of the parsed instance. The instance ID is returned as a Unicode string.
The function takes in a third argument called check_owner which is a boolean that tells the function whether or not to check if the instance was generated by the owner of the site or a site visitor. Use this to verify requests that only the owner of a site can make (e.g. changing app settings).
The function returns false if the instance is invalid or if the instance was not generated by the site owner (assuming site_owner is set to True).
instance_parser
Use this function when you want the entire parsed instance. The parsed instance is returned as a dictionary. The keys to the dictionary are equivalent to the Instance properties in the Wix Documentation.
File issues with this package here.
Feel free to contribute to this package by making a pull request on Github.