Showing Login Errors
diff --git a/applications/subscriberPortal/README.md b/applications/subscriberPortal/README.md
index 7144646..f414994 100644
--- a/applications/subscriberPortal/README.md
+++ b/applications/subscriberPortal/README.md
@@ -28,7 +28,9 @@
_All commands in this section refers to `applications/subscriberPortal`_
-_Note that NodeJs is required to run this demo_To open this demo:
+_Note that NodeJs and Bower are required to run this demo_
+
+To open this demo:
- open `env/default.js` and replace `host` with the URL of your XOS installation.
- from the portal root execute `npm start`
diff --git a/applications/subscriberPortal/bs-config.js b/applications/subscriberPortal/bs-config.js
index 4acb4c6..f608075 100644
--- a/applications/subscriberPortal/bs-config.js
+++ b/applications/subscriberPortal/bs-config.js
@@ -51,8 +51,10 @@
req.url.indexOf('/xoslib/') !== -1 ||
req.url.indexOf('/hpcapi/') !== -1
){
+ console.log(req.headers)
if(req.headers['X-CSRFToken']){
req.headers['x-csrftoken'] = req.headers['x-csrftoken'];
+ req.headers.cookie = `xoscsrftoken=${req.headers['x-csrftoken']}; xossessionid=${req.headers['sessionid']}`;
}
proxy.web(req, res);
}
diff --git a/applications/subscriberPortal/src/app/fw/services/rest.js b/applications/subscriberPortal/src/app/fw/services/rest.js
index db35617..e5ea7e0 100644
--- a/applications/subscriberPortal/src/app/fw/services/rest.js
+++ b/applications/subscriberPortal/src/app/fw/services/rest.js
@@ -22,6 +22,7 @@
return {
request: function(request){
request.headers['X-CSRFToken'] = $cookies.get('xoscsrftoken');
+ request.headers['sessionId'] = $cookies.get('sessionid');
return request;
}
};
@@ -38,11 +39,13 @@
$cookies.put('sessionid', res.data.xossessionid);
user = JSON.parse(res.data.user);
return $http.get(cordConfig.url + '/xos/tenantrootprivileges?user=' + user.id);
- }).then(function(subscriber){
- console.log(subscriber);
- deferred.resolve(user);
+ })
+ .then(function(subscriber){
+ console.log(subscriber);
+ deferred.resolve(user);
})
.catch(function(e){
+ deferred.reject(e);
throw new Error(e);
});
diff --git a/applications/subscriberPortal/src/app/view/common/common.css b/applications/subscriberPortal/src/app/view/common/common.css
index 5ae154b..800fe24 100644
--- a/applications/subscriberPortal/src/app/view/common/common.css
+++ b/applications/subscriberPortal/src/app/view/common/common.css
@@ -34,7 +34,7 @@
h1, h2, h3, h4, h5, h6,
p, a, li, th, td,
-select, input, option, label {
+select, input, option, label, div {
font-family: sans-serif, "Droid Sans", "Lucida Grande", Arial, Helvetica;
color: #3C3C3C;
}
diff --git a/applications/subscriberPortal/src/app/view/login/login.css b/applications/subscriberPortal/src/app/view/login/login.css
index f7d5f67..b4275c5 100644
--- a/applications/subscriberPortal/src/app/view/login/login.css
+++ b/applications/subscriberPortal/src/app/view/login/login.css
@@ -73,6 +73,20 @@
border-radius: 1px;
position: absolute;
}
+
+#login-form .login-error{
+ background: red;
+ border: 2px solid darkred;
+ color: white;
+ position: absolute;
+ height: 40px;
+ width: 230px;
+ padding: 0 5px;
+ border-radius: 1px;
+ top: 70px;
+ font-size: 10px;
+}
+
#login-form input[type="text"] {
top: -90px;
}
diff --git a/applications/subscriberPortal/src/app/view/login/login.html b/applications/subscriberPortal/src/app/view/login/login.html
index 19c5940..6359cce 100644
--- a/applications/subscriberPortal/src/app/view/login/login.html
+++ b/applications/subscriberPortal/src/app/view/login/login.html
@@ -4,10 +4,14 @@
<div id="login-form">
<div class="outline"></div>
<h2>Subscriber Portal</h2>
- <form>
+ <form ng-submit="login()">
<input ng-model="email" type="text" placeholder="email" required>
<input ng-model="password" type="password" placeholder="password" required>
<input ng-click="login()" type="button" value="Log In">
+ <div class="login-error" ng-show="error">
+ Sorry, your login failed.
+ Please try again.
+ </div>
</form>
</div>
</div>
diff --git a/applications/subscriberPortal/src/app/view/login/login.js b/applications/subscriberPortal/src/app/view/login/login.js
index c902480..77ef724 100644
--- a/applications/subscriberPortal/src/app/view/login/login.js
+++ b/applications/subscriberPortal/src/app/view/login/login.js
@@ -29,6 +29,9 @@
User.login($scope.email, $scope.password)
.then(function(user){
$location.url('/home');
+ })
+ .catch(function(e){
+ $scope.error = true;
});
$scope.shared.login = $scope.email;
diff --git a/views/ngXosLib/xosHelpers/src/services/csrfToken.interceptor.js b/views/ngXosLib/xosHelpers/src/services/csrfToken.interceptor.js
index 283e90d..025813c 100644
--- a/views/ngXosLib/xosHelpers/src/services/csrfToken.interceptor.js
+++ b/views/ngXosLib/xosHelpers/src/services/csrfToken.interceptor.js
@@ -1,18 +1,18 @@
(function() {
- 'use strict';
+ 'use strict';
- angular
- .module('xos.helpers')
- .factory('SetCSRFToken', setCSRFToken);
+ angular
+ .module('xos.helpers')
+ .factory('SetCSRFToken', setCSRFToken);
- function setCSRFToken($cookies) {
- return {
- request: function(request){
- if(request.method !== 'GET'){
- request.headers['X-CSRFToken'] = $cookies.get('xoscsrftoken');
- }
- return request;
+ function setCSRFToken($cookies) {
+ return {
+ request: function(request){
+ if(request.method !== 'GET'){
+ request.headers['X-CSRFToken'] = $cookies.get('xoscsrftoken');
}
- };
- }
+ return request;
+ }
+ };
+ }
})();