Set a user's wiki password with auth server
This commit is contained in:
parent
53ae4c31bb
commit
6b841f3a78
|
@ -1,15 +1,38 @@
|
||||||
from log import logger
|
from log import logger
|
||||||
import time
|
import time
|
||||||
import secrets
|
import secrets
|
||||||
|
import subprocess
|
||||||
|
|
||||||
from flask import abort
|
from flask import abort
|
||||||
|
|
||||||
HTTP_NOTFOUND = 404
|
HTTP_NOTFOUND = 404
|
||||||
|
|
||||||
def set_password(username, password):
|
def set_wiki_password(username, password):
|
||||||
# TODO
|
# sets a user's wiki password
|
||||||
print(username, password)
|
# creates the account if it doesn't exist
|
||||||
|
|
||||||
|
if not username:
|
||||||
|
logger.error('Empty username, aborting')
|
||||||
|
abort(400)
|
||||||
|
|
||||||
|
logger.info('Setting wiki password for: ' + username)
|
||||||
|
|
||||||
|
if not password:
|
||||||
|
logger.error('Empty password, aborting')
|
||||||
|
abort(400)
|
||||||
|
|
||||||
|
script = secrets.WIKI_MAINTENANCE + '/createAndPromote.php'
|
||||||
|
|
||||||
|
result = subprocess.run(['php', script, '--force', username, password],
|
||||||
|
shell=False, text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
|
||||||
|
output = result.stdout or result.stderr
|
||||||
|
|
||||||
|
logger.info('Output: ' + output)
|
||||||
|
|
||||||
|
if result.stderr:
|
||||||
|
abort(400)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print(set_password('test.test', 'password'))
|
set_wiki_password('tanner.collin', 'protospace1')
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -5,3 +5,8 @@
|
||||||
# For example, use the first output of this:
|
# For example, use the first output of this:
|
||||||
# head /dev/urandom | sha1sum
|
# head /dev/urandom | sha1sum
|
||||||
AUTH_TOKEN = ''
|
AUTH_TOKEN = ''
|
||||||
|
|
||||||
|
# Absolute path of Mediawiki maintenance directory
|
||||||
|
# Probably:
|
||||||
|
# /var/www/wiki/maintenance
|
||||||
|
WIKI_MAINTENANCE = ''
|
||||||
|
|
|
@ -22,7 +22,7 @@ def set_password():
|
||||||
username = request.form['username']
|
username = request.form['username']
|
||||||
password = request.form['password']
|
password = request.form['password']
|
||||||
|
|
||||||
auth_functions.set_password(username, password)
|
auth_functions.set_wiki_password(username, password)
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue
Block a user