Rework the javascript file of the UI (part3)
[clamp.git] / src / main / resources / META-INF / resources / designer / scripts / authcontroller.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License"); 
9  * you may not use this file except in compliance with the License. 
10  * You may obtain a copy of the License at
11  * 
12  * http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software 
15  * distributed under the License is distributed on an "AS IS" BASIS, 
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
17  * See the License for the specific language governing permissions and 
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  */
23
24 'use strict';
25
26 function AuthenticateCtrl($scope,$rootScope,$window,$resource,$http,$location,$cookies,md5)
27 {
28         console.log("//////////AuthenticateCtrl"); 
29         $scope.getInclude = function() 
30         { 
31                 console.log("getInclude011111111");
32                 var invalidUser=$window.localStorage.getItem("isInvalidUser");
33                 var isAuth=$window.localStorage.getItem("isAuth");
34
35                 if(invalidUser != null && invalidUser == 'true')
36                 {
37                         console.log("Authentication failed");
38                         $window.localStorage.removeItem("isInvalidUser");
39                         window.location.href = "/designer/invalid_login.html";
40                 }
41                 else if(isAuth == null || isAuth == 'false')
42             {
43                         return "authenticate.html";
44             }
45                 // Reassign the login user info, to be used in menu.html 
46                 $rootScope.loginuser = $window.localStorage.getItem("loginuser");
47                 return "utmdashboard.html";
48         }; 
49
50         $scope.authenticate = function()
51         {
52                 var username = $scope.username;
53                 var pass =$scope.password;
54                 if (!username || !pass) {
55                         console.log("Invalid username/password");
56                 $window.localStorage.setItem("isInvalidUser", true);
57                         return;
58                 }
59                 var hashpass = md5.createHash(pass);
60                 var headers = username ? {authorization : "Basic "
61                 + btoa(username + ":" + hashpass)
62             } : {};
63             // send request to a test API with the username/password to verify the authorization
64             $http.get('/restservices/clds/v1/user/testUser', {headers : headers}).success(function(data) {
65                 if (data) {
66                         $window.localStorage.setItem("isAuth", true);
67                         $window.localStorage.setItem("loginuser", $scope.username);
68                         $rootScope.loginuser = $scope.username;
69                 } else {
70                         $window.localStorage.removeItem("isInvalidUser", true);
71                 }
72                 callback && callback();
73             }).error(function() {
74                 $window.localStorage.removeItem("isInvalidUser", true);
75                 callback && callback();
76             });
77         };
78         
79 }