2017-09-05 21:22:16 -04:00
|
|
|
from flask import Blueprint, jsonify, request
|
|
|
|
from flask_login import login_required
|
|
|
|
import hashlib
|
|
|
|
import binascii
|
2017-09-09 13:53:58 -04:00
|
|
|
import config_provider
|
2017-09-05 21:22:16 -04:00
|
|
|
|
|
|
|
password_api = Blueprint('password_api', __name__)
|
|
|
|
|
|
|
|
@password_api.route('/password/verify', methods = ['POST'])
|
|
|
|
@login_required
|
|
|
|
def verifyPassword():
|
|
|
|
req = request.get_json(force=True)
|
|
|
|
|
2017-09-09 13:53:58 -04:00
|
|
|
config = config_provider.getConfig()
|
2017-09-05 21:22:16 -04:00
|
|
|
|
2017-09-09 13:53:58 -04:00
|
|
|
hashedPassword = config['Login']['passwordHash'].encode('utf-8')
|
2017-09-05 21:22:16 -04:00
|
|
|
hashedPasswordBytes = binascii.unhexlify(hashedPassword)
|
|
|
|
hashedPasswordSha = hashlib.sha256(hashedPasswordBytes).hexdigest()
|
|
|
|
|
|
|
|
isValid = req['password'] == hashedPasswordSha
|
|
|
|
|
|
|
|
return jsonify({
|
|
|
|
'valid': isValid
|
|
|
|
})
|