aboutsummaryrefslogtreecommitdiffstats
path: root/opnfv_testapi/ui/auth
diff options
context:
space:
mode:
Diffstat (limited to 'opnfv_testapi/ui/auth')
-rw-r--r--opnfv_testapi/ui/auth/sign.py17
-rw-r--r--opnfv_testapi/ui/auth/user.py52
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