diff options
author | Ankitkumar Patel <ankit@research.att.com> | 2018-02-11 17:51:13 -0500 |
---|---|---|
committer | Ankitkumar Patel <ankit@research.att.com> | 2018-02-11 17:52:51 -0500 |
commit | 0b855c08fd98fb8fa0f4bc40d8df430c897b4bad (patch) | |
tree | efdd3c7ab31be64080dd71951a64d13f0ba493de /osdf/webapp/appcontroller.py | |
parent | bb8471cae394aa6ff0af8ba3e5354f3b121c56fc (diff) |
Re-org folders, onboard test folder, test config
Reorganized the folder structure. Onboarded testcases. Added test config.
Issue-ID: OPTFRA-74
Change-Id: I97882a162a405a18ffd287495039e15ae9d0ad7b
Signed-off-by: Ankitkumar Patel <ankit@research.att.com>
Diffstat (limited to 'osdf/webapp/appcontroller.py')
-rw-r--r-- | osdf/webapp/appcontroller.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/osdf/webapp/appcontroller.py b/osdf/webapp/appcontroller.py new file mode 100644 index 0000000..49f84ff --- /dev/null +++ b/osdf/webapp/appcontroller.py @@ -0,0 +1,47 @@ +# ------------------------------------------------------------------------- +# Copyright (c) 2015-2017 AT&T Intellectual Property +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ------------------------------------------------------------------------- +# + +from flask import request +from flask_httpauth import HTTPBasicAuth +from flask import Response +import json +import osdf +from osdf.config.base import http_basic_auth_credentials + +auth_basic = HTTPBasicAuth() + +error_body = { + "serviceException": { + "text": "Unauthorized, check username and password" + } +} + +unauthorized_message = json.dumps(error_body) + +@auth_basic.get_password +def get_pw(username): + end_point = request.url.split('/')[-1] + auth_group = osdf.end_point_auth_mapping.get(end_point) + return http_basic_auth_credentials[auth_group].get(username) if auth_group else None + +@auth_basic.error_handler +def auth_error(): + response = Response(unauthorized_message, content_type='application/json; charset=utf-8') + response.headers.add('content-length', len(unauthorized_message)) + response.status_code = 401 + return response |