SafeLine Open API Guide: API Token Authentication
In the latest version of SafeLine (v6.6.0 and above), the Open API now supports API token-based authentication. Although official API documentation is not currently available, you can scrape it yourself if needed.
Requirements:
- You must be logged in using the default admin account to access this feature.
- SafeLine version must be at least 6.6.0.
GitHub:https://github.com/chaitin/SafeLine
Demo:https://demo.waf.chaitin.com:9443/dashboard
How to Use the Open API
Step 1: Create an API Token
First, navigate to System Management in SafeLine and generate an API token.
Step 2: Include the API Token in Your Requests
When making API calls, you need to include the token in the request headers like this:
"X-SLCE-API-TOKEN": "Your API Token from SafeLine"
Example: Using API Token in Python to Add a Site
Below is an example of how to use the SafeLine Open API with an API token to add a new site in Python.
import requests
import json # Define the header with your API token
header = { "X-SLCE-API-TOKEN": "Your API Token from SafeLine"
} # API endpoint to add a site
url = 'https://<safeline_ip>:9443/api/open/site' # Payload containing site details
payload = { "ports": ["80"], "server_names": ["*"], "upstreams": ["http://127.0.0.1:9443"], "comment": "", "load_balance": { "balance_type": 1 }
} # Convert payload to JSON
payload = json.dumps(payload) # Send the POST request
response = requests.post(url=url, headers=header, data=payload, verify=False) # Check the response
print(response.status_code)
print(response.json())
Explanation:
- The header contains the required API token for authentication.
- The URL is the endpoint for adding a site (
/api/open/site
). - The payload specifies details about the site such as ports, server names, upstreams, and load-balancing configuration.
By following these steps, you can securely interact with SafeLine’s Open API using token-based authentication, enabling you to automate and manage your web security setup with ease.
Discover more from Coursity
Subscribe to get the latest posts sent to your email.