def user_qrcode(): try: validate(request.args, USER_QRCODE_SCHEMA) except ValidationError as e: return jsonify(error_message=str(e), error_code='INVALID_PARAMS'), 400 auth_uri = auth.user_auth_uri( issuer=request.args['issuer'], username=request.args['username'], user_id=request.args['user_id'], ) if not auth_uri: return 'User not found', 404 return Response(qr_code_image_as_bytes(auth_uri), mimetype='image/png')
def test_auth_uri(): user_id = "15" user = auth.provision_user(user_id) auth_uri = urlparse(auth.user_auth_uri(user_id, "*****@*****.**", "someissuer")) assert auth_uri.scheme == "otpauth" assert auth_uri.netloc == "totp" assert auth_uri.path == "/someissuer:ausername%40example.org" query = parse_qs(auth_uri.query) assert query["algorithm"] == ["SHA256"] assert query["period"] == [str(user.key_valid_duration)] assert query["issuer"] == ["someissuer"] assert query["secret"] == [b32encode(user.secret).decode("ASCII")] assert query["digits"] == [str(user.key_length)]
def test_auth_uri(): user_id = '15' user = auth.provision_user(user_id) auth_uri = urlparse( auth.user_auth_uri(user_id, '*****@*****.**', 'someissuer'), ) assert auth_uri.scheme == 'otpauth' assert auth_uri.netloc == 'totp' assert auth_uri.path == '/someissuer:ausername%40example.org' query = parse_qs(auth_uri.query) assert query['algorithm'] == ['SHA256'] assert query['period'] == [str(user.key_valid_duration)] assert query['issuer'] == ['someissuer'] assert query['secret'] == [b32encode(user.secret).decode('ASCII')] assert query['digits'] == [str(user.key_length)]