only check api keys on selected resources

This commit is contained in:
Martin
2016-11-14 00:10:57 +01:00
parent c7fdb2684b
commit 8e28378cb8
7 changed files with 20 additions and 8 deletions
-4
View File
@@ -1,6 +1,5 @@
from flask import Flask, jsonify, Response, request from flask import Flask, jsonify, Response, request
from api.extensions import db, esales from api.extensions import db, esales
from api.helpers import check_api_key
from api.validators import ValidationError from api.validators import ValidationError
@@ -32,7 +31,4 @@ def create_app(config_name='config'):
app.register_blueprint(categories.mod) app.register_blueprint(categories.mod)
app.register_blueprint(prices.mod) app.register_blueprint(prices.mod)
# authentication
app.before_request(check_api_key)
return app return app
+3 -1
View File
@@ -1,10 +1,12 @@
from flask import Blueprint, request, jsonify from flask import Blueprint, request, jsonify
from api import db, tasks from api import db, tasks
from api.models import Category from api.models import Category
from api.helpers import pagination_to_dict from api.helpers import pagination_to_dict, check_api_key
mod = Blueprint('categories', __name__, url_prefix='/categories') mod = Blueprint('categories', __name__, url_prefix='/categories')
mod.before_request(check_api_key)
@mod.route("/", methods=["GET"]) @mod.route("/", methods=["GET"])
def list(): def list():
+3 -1
View File
@@ -1,12 +1,14 @@
from flask import Blueprint, request, jsonify from flask import Blueprint, request, jsonify
from api import db, tasks from api import db, tasks
from api.models import Designer from api.models import Designer
from api.helpers import pagination_to_dict from api.helpers import pagination_to_dict, check_api_key
from api.validators import validate_jsonschema from api.validators import validate_jsonschema
mod = Blueprint('designers', __name__, url_prefix='/designers') mod = Blueprint('designers', __name__, url_prefix='/designers')
mod.before_request(check_api_key)
create_designer_schema = { create_designer_schema = {
"type": "object", "type": "object",
"properties": { "properties": {
+3
View File
@@ -1,4 +1,5 @@
from flask import Blueprint, request, jsonify, abort from flask import Blueprint, request, jsonify, abort
from api.helpers import check_api_key
from api.validators import validate_territory, validate_number, validate_exists from api.validators import validate_territory, validate_number, validate_exists
from api.models.product import Material from api.models.product import Material
from api.models.contract_customer import ContractCustomer from api.models.contract_customer import ContractCustomer
@@ -9,6 +10,8 @@ from api.lib.limits import calculate_canvas_limits
mod = Blueprint('prices', __name__, url_prefix='/prices') mod = Blueprint('prices', __name__, url_prefix='/prices')
mod.before_request(check_api_key)
def get_reseller(): def get_reseller():
dealerurl = request.args.get('dealerurl') dealerurl = request.args.get('dealerurl')
+1 -1
View File
@@ -1,4 +1,4 @@
from flask import Blueprint, jsonify from flask import Blueprint, jsonify, url_for
mod = Blueprint('server', __name__) mod = Blueprint('server', __name__)
+1
View File
@@ -6,3 +6,4 @@ ESALES_URL = ''
TESTING = True TESTING = True
DEBUG = True DEBUG = True
SQLALCHEMY_ECHO = False SQLALCHEMY_ECHO = False
API_KEYS = None # api keys are disabled in test
+9 -1
View File
@@ -5,6 +5,7 @@ import json
import base64 import base64
from api import create_app from api import create_app
from flask import Flask from flask import Flask
from api.helpers import check_api_key
from api.validators import ValidationError, validate_exists, validate_number, validate_territory, validate_jsonschema from api.validators import ValidationError, validate_exists, validate_number, validate_territory, validate_jsonschema
@@ -13,7 +14,14 @@ class TestHttpBasicAuth(flask_testing.TestCase):
api_key = 'secret' api_key = 'secret'
def create_app(self): def create_app(self):
return create_app('tests.config') app = Flask(__name__)
app.before_request(check_api_key)
@app.route('/', methods=['GET'])
def index():
return 'ok'
return app
def _enable_basic_auth(self): def _enable_basic_auth(self):
self.app.config['API_KEYS'] = [self.api_key] self.app.config['API_KEYS'] = [self.api_key]