From 9a8fea348c6c37db65708fea0dc4458ae5d274d7 Mon Sep 17 00:00:00 2001 From: SerenaFeng Date: Wed, 6 Sep 2017 14:21:23 +0800 Subject: hide cas ticket from web portal In the previous implementation, when login the url will shown as: http://localhost:8000/?ticket=ST-5WzYs6SD2A#/ this patch aims to hide the ticket mechanism. 1) add /api/v1/auth/signin_return to process login verify 2) refactor code, leverage SignBaseHanlder() to manage casclient Change-Id: I62e23eb69ee52304c30753e861b4f0a4e0d45541 Signed-off-by: SerenaFeng --- utils/test/testapi/opnfv_testapi/common/check.py | 35 ---------------------- .../test/testapi/opnfv_testapi/common/constants.py | 1 - 2 files changed, 36 deletions(-) (limited to 'utils/test/testapi/opnfv_testapi/common') diff --git a/utils/test/testapi/opnfv_testapi/common/check.py b/utils/test/testapi/opnfv_testapi/common/check.py index 009d3d46c..24ba876a9 100644 --- a/utils/test/testapi/opnfv_testapi/common/check.py +++ b/utils/test/testapi/opnfv_testapi/common/check.py @@ -8,49 +8,14 @@ ############################################################################## import functools -import cas from tornado import gen from tornado import web -from opnfv_testapi.common import constants from opnfv_testapi.common import message from opnfv_testapi.common import raises -from opnfv_testapi.common.config import CONF from opnfv_testapi.db import api as dbapi -def login(method): - @web.asynchronous - @gen.coroutine - @functools.wraps(method) - def wrapper(self, *args, **kwargs): - ticket = self.get_query_argument('ticket', default=None) - if ticket: - client = cas.CASClient(version='2', - server_url=CONF.lfid_cas_url, - service_url=CONF.ui_url) - (user, attrs, _) = client.verify_ticket(ticket=ticket) - print 'login user: {}'.format(user) - login_user = { - 'user': user, - 'email': attrs.get('mail'), - 'fullname': attrs.get('field_lf_full_name'), - 'groups': constants.TESTAPI_USERS + attrs.get('group', []) - } - q_user = {'user': user} - db_user = yield dbapi.db_find_one(constants.USER_TABLE, q_user) - if not db_user: - dbapi.db_save(constants.USER_TABLE, login_user) - else: - dbapi.db_update(constants.USER_TABLE, q_user, login_user) - - self.clear_cookie(constants.TESTAPI_ID) - self.set_secure_cookie(constants.TESTAPI_ID, user) - ret = yield gen.coroutine(method)(self, *args, **kwargs) - raise gen.Return(ret) - return wrapper - - def authenticate(method): @web.asynchronous @gen.coroutine diff --git a/utils/test/testapi/opnfv_testapi/common/constants.py b/utils/test/testapi/opnfv_testapi/common/constants.py index b37ebb3d6..70c922383 100644 --- a/utils/test/testapi/opnfv_testapi/common/constants.py +++ b/utils/test/testapi/opnfv_testapi/common/constants.py @@ -2,4 +2,3 @@ TESTAPI_ID = 'testapi_id' CSRF_TOKEN = 'csrf_token' ROLE = 'role' TESTAPI_USERS = ['opnfv-testapi-users'] -USER_TABLE = 'users' -- cgit 1.2.3-korg