b138c96ad93126d28178fed33af8a74f380d6c76
[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   console.log("//////////AuthenticateCtrl");
28   $scope.getInclude = function() {
29     console.log("getInclude011111111");
30     var invalidUser = $window.localStorage.getItem("isInvalidUser");
31     var isAuth = $window.localStorage.getItem("isAuth");
32
33     if (invalidUser != null && invalidUser == 'true') {
34       console.log("Authentication failed");
35       $window.localStorage.removeItem("isInvalidUser");
36       window.location.href = "/designer/invalid_login.html";
37     } else if (isAuth == null || isAuth == 'false') {
38       return "authenticate.html";
39     }
40     // Reassign the login user info, to be used in menu.html
41     $rootScope.loginuser = $window.localStorage.getItem("loginuser");
42     return "utmdashboard.html";
43   };
44
45   $scope.authenticate = function() {
46     var username = $scope.username;
47     var pass = $scope.password;
48     if (!username || !pass) {
49       console.log("Invalid username/password");
50       $window.localStorage.setItem("isInvalidUser", true);
51       return;
52     }
53     var hashpass = md5.createHash(pass);
54     var headers = username ? {
55       authorization: "Basic " +
56         btoa(username + ":" + hashpass)
57     } : {};
58     // send request to a test API with the username/password to verify the authorization
59     $http.get('/restservices/clds/v1/user/testUser', {
60       headers: headers
61     }).success(function(data) {
62       if (data) {
63         $window.localStorage.setItem("isAuth", true);
64         $window.localStorage.setItem("loginuser", $scope.username);
65         $rootScope.loginuser = $scope.username;
66       } else {
67         $window.localStorage.removeItem("isInvalidUser", true);
68       }
69       callback && callback();
70     }).error(function() {
71       $window.localStorage.removeItem("isInvalidUser", true);
72       callback && callback();
73     });
74   };
75
76 }