diff options
author | Sastry Isukapalli <sastry@research.att.com> | 2018-01-11 14:37:39 -0500 |
---|---|---|
committer | Sastry Isukapalli <sastry@research.att.com> | 2018-01-11 14:38:50 -0500 |
commit | 7167d1a0c3c30afbba61edb593580cbf7244e52c (patch) | |
tree | 3686d1878449ff552687539dc5869ee5ea2697bb /webapp | |
parent | d51c20ced007294d86e560f3bc9f5812cc17f193 (diff) |
OOF design framework seed code
Issue-ID: OPTFRA-18
Change-Id: Ib44b06f7184cb49f90d5936edd82cba44068b1c8
Signed-off-by: Sastry Isukapalli <sastry@research.att.com>
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/__init__.py | 0 | ||||
-rw-r--r-- | webapp/appcontroller.py | 47 |
2 files changed, 47 insertions, 0 deletions
diff --git a/webapp/__init__.py b/webapp/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/webapp/__init__.py diff --git a/webapp/appcontroller.py b/webapp/appcontroller.py new file mode 100644 index 0000000..49f84ff --- /dev/null +++ b/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 |