Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrmichalis/7fdebc76ab9a080a2f1d to your computer and use it in GitHub Desktop.
Save mrmichalis/7fdebc76ab9a080a2f1d to your computer and use it in GitHub Desktop.
# source this code in a Bash shell ($ . django-csrftoken-login-demo.bash),
# and run with a DB name as parameter (e.g. $ django-csrftoken-login-demo demo)
django-csrftoken-login-demo() {
# -- CHANGE THESE VALUES TO MATCH YOUR ACCOUNT --
local HOSTING_USERID=9988
local HOSTING_PANEL_USER='customer@email.address'
local HOSTING_PANEL_PASS='my secret login password'
local HOSTING_DB_PREFIX='username_'
local DB_NAME=$HOSTING_DB_PREFIX$1
local DB_TYPE=psql
local DB_TEMPLATE=default
# no changes needed below:
local HOSTING_PANEL_LOGIN=https://yourdjangowebsite.com/login/
local HOSTING_PANEL_DATABASE=https://yourdjangowebsite.com/databases/
local COOKIES=cookies.txt
local CURL_BIN="curl -s -c $COOKIES -b $COOKIES -e $HOSTING_PANEL_LOGIN"
local DATAFILE=curl-data.txt
umask 0007
echo -n "Django Auth: get csrftoken ..."
$CURL_BIN $HOSTING_PANEL_LOGIN > /dev/null
local DJANGO_TOKEN="csrfmiddlewaretoken=$(grep csrftoken $COOKIES | sed 's/^.*csrftoken\s*//')"
echo -n " perform login ..."
echo "$DJANGO_TOKEN;username=$HOSTING_PANEL_USER;password=$HOSTING_PANEL_PASS" > $DATAFILE
$CURL_BIN -X POST -d @$DATAFILE $HOSTING_PANEL_LOGIN
echo -n " perform panel activity: CREATE DATABASE '$DB_NAME' ..."
echo "$DJANGO_TOKEN;systemuser=$HOSTING_USERID;name=$DB_NAME;type=$DB_TYPE;template=$DB_TEMPLATE" > $DATAFILE
$CURL_BIN -X POST -d @$DATAFILE "$HOSTING_PANEL_DATABASE"
echo " logout"
rm $COOKIES $DATAFILE
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment