diff options
Diffstat (limited to 'opnfv_testapi/ui')
-rw-r--r-- | opnfv_testapi/ui/auth/sign.py | 17 | ||||
-rw-r--r-- | opnfv_testapi/ui/auth/user.py | 52 |
2 files changed, 63 insertions, 6 deletions
diff --git a/opnfv_testapi/ui/auth/sign.py b/opnfv_testapi/ui/auth/sign.py index dbb40ed..028816a 100644 --- a/opnfv_testapi/ui/auth/sign.py +++ b/opnfv_testapi/ui/auth/sign.py @@ -45,7 +45,8 @@ class SigninHandler(base.BaseHandler): renew=False, extra_login_params=False, server_url=CONF.lfid_url, - service_url=CONF.lfid_return_url + service_url='http://{0}/{1}'.format(self.request.host, + CONF.lfid_return_url) ) redirect_url = client.get_login_url() self.redirect(url=redirect_url, permanent=False) @@ -154,7 +155,8 @@ class SigninReturnCasHandler(base.BaseHandler): renew=False, extra_login_params=False, server_url=CONF.lfid_url, - service_url=CONF.lfid_return_url + service_url='http://{0}/{1}'.format(self.request.host, + CONF.lfid_return_url) ) user, attrs, _ = client.verify_ticket(ticket) logging.debug("user:%s", user) @@ -180,7 +182,7 @@ class SigninReturnCasHandler(base.BaseHandler): self.set_secure_cookie(const.ROLE, role) self.set_secure_cookie('ticket', ticket) - self.redirect("/") + self.redirect('http://{0}'.format(self.request.host)) class SigninReturnJiraHandler(base.BaseHandler): @@ -275,7 +277,12 @@ class SignoutHandler(base.BaseHandler): renew=False, extra_login_params=False, server_url=CONF.lfid_url, - service_url=CONF.lfid_return_url + service_url='http://{0}/{1}'.format(self.request.host, + CONF.lfid_return_url) ) - url = client.get_logout_url(CONF.ui_url) + + self.clear_cookie('ticket') + self.clear_cookie('signin_type') + + url = client.get_logout_url('http://{0}'.format(self.request.host)) self.redirect(url) diff --git a/opnfv_testapi/ui/auth/user.py b/opnfv_testapi/ui/auth/user.py index a695da4..5ac6f43 100644 --- a/opnfv_testapi/ui/auth/user.py +++ b/opnfv_testapi/ui/auth/user.py @@ -10,12 +10,19 @@ from tornado import gen from tornado import web +from opnfv_testapi.common import message from opnfv_testapi.common import raises from opnfv_testapi.db import api as dbapi +from opnfv_testapi.resources import models from opnfv_testapi.ui.auth import base +from opnfv_testapi.ui.auth import constants as auth_const class ProfileHandler(base.BaseHandler): + def __init__(self, application, request, **kwargs): + super(ProfileHandler, self).__init__(application, request, **kwargs) + self.table_cls = User + @web.asynchronous @gen.coroutine def get(self): @@ -28,8 +35,51 @@ class ProfileHandler(base.BaseHandler): "email": user.get('email'), "fullname": user.get('fullname'), "role": user.get('role', 'user'), - "type": self.get_secure_cookie('signin_type') + "type": self.get_secure_cookie('signin_type'), + "companyName": user.get('companyName'), + "companyWebsite": user.get('companyWebsite'), + "primaryContactName": user.get('primaryContactName'), + "primaryBusinessEmail": user.get('primaryBusinessEmail'), + "primaryPostalAddress": user.get('primaryPostalAddress'), + "primaryPhoneNumber": user.get('primaryPhoneNumber') + }) except Exception: pass raises.Unauthorized('Unauthorized') + + @gen.coroutine + def put(self): + db_keys = [] + openid = self.get_secure_cookie(auth_const.OPENID) + + if openid: + query = {'openid': openid} + user = yield dbapi.db_find_one(self.table, query) + if not user: + raises.NotFound(message.not_found(self.table, query)) + + self._update(query=query, db_keys=db_keys) + else: + raises.Unauthorized(message.no_auth()) + + +class User(models.ModelBase): + def __init__(self, _id=None, openid=None, email=None, fullname=None, + role='user', u_type=None, companyName=None, + companyWebsite=None, primaryContactName=None, + primaryBusinessEmail=None, primaryPostalAddress=None, + primaryPhoneNumber=None): + self._id = _id + self.openid = openid + self.email = email + self.fullname = fullname + self.role = role + self.type = u_type + + self.companyName = companyName + self.companyWebsite = companyWebsite + self.primaryContactName = primaryContactName + self.primaryBusinessEmail = primaryBusinessEmail + self.primaryPostalAddress = primaryPostalAddress + self.primaryPhoneNumber = primaryPhoneNumber |