{"version":3,"file":"azureADCtrl.js","sourceRoot":"","sources":["../../../../src/modules/controllers/applicationcore/azureADCtrl.ts"],"names":[],"mappings":"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","sourcesContent":["module controllers {\r\n export module applicationcore {\r\n export class azureADCtrl {\r\n static $inject = [\r\n \"$scope\",\r\n \"userAccountService\",\r\n \"$rootScope\",\r\n \"generalService\",\r\n \"$cookies\",\r\n \"$http\",\r\n \"$location\",\r\n \"descriptionService\",\r\n \"bsLoadingOverlayService\",\r\n \"$state\",\r\n \"$stateParams\",\r\n \"$q\",\r\n \"ENV\",\r\n \"entityService\",\r\n \"msalAuthenticationService\",\r\n ];\r\n\r\n loginDetails: interfaces.applicationcore.ILoginDetails;\r\n\r\n constructor(\r\n private $scope: ng.IScope,\r\n private userAccountService: interfaces.applicationcore.IUserAccountService,\r\n private $rootScope: interfaces.applicationcore.IRootScope,\r\n public generalService: interfaces.applicationcore.IGeneralService,\r\n private $cookies: ng.cookies.ICookiesService,\r\n private $http: ng.IHttpService,\r\n private $location: ng.ILocationService,\r\n private descriptionService: services.applicationcore.descriptionService,\r\n private bsLoadingOverlayService,\r\n public $state: ng.ui.IStateService,\r\n public $stateParams: ng.ui.IStateParamsService,\r\n private $q: ng.IQService,\r\n private ENV: interfaces.applicationcore.serverConfig,\r\n private entityService: interfaces.applicationcore.IEntityService,\r\n private msalAuthenticationService\r\n ) {\r\n \r\n let account = this.msalAuthenticationService.getUser();\r\n\r\n this.msalAuthenticationService\r\n .acquireTokenSilent(this.ENV.azureADConfig.consentScopes)\r\n .then((accessToken) => {\r\n this.doMSALLogin(accessToken);\r\n })\r\n .catch((error) => {\r\n this.msalAuthenticationService\r\n .loginPopup()\r\n .then((accessToken) => {\r\n this.doMSALLogin(accessToken);\r\n })\r\n .catch((error) => {});\r\n });\r\n }\r\n\r\n doMSALLogin(accessToken) {\r\n var user = this.msalAuthenticationService.getUser();\r\n if (user) {\r\n //this.$rootScope.isLoggedIn = true; // theres a watch on this property, which tries to load rights if this is true...\r\n this.$rootScope.userFullName = user.name;\r\n this.$rootScope.userToken = accessToken;\r\n\r\n this.loginDetails = {\r\n userName: user.displayableId,\r\n password: \"AADAuth\",\r\n passwordIsHashed: false,\r\n enumAuthenticationType: 3,\r\n token: accessToken,\r\n };\r\n\r\n this.$http.defaults.headers.common[\"Authorization\"] =\r\n \"Bearer \" + accessToken;\r\n\r\n if (\r\n location.hostname === \"localhost\" ||\r\n location.hostname === \"127.0.0.1\" ||\r\n location.protocol === \"http:\"\r\n ) {\r\n this.$cookies.put(\"userFullName\", this.$rootScope.userFullName);\r\n this.$cookies.put(\"userToken\", this.$rootScope.userToken);\r\n } else {\r\n this.$cookies.put(\"userFullName\", this.$rootScope.userFullName, {\r\n samesite: \"None\",\r\n secure: true,\r\n });\r\n this.$cookies.put(\"userToken\", this.$rootScope.userToken, {\r\n samesite: \"None\",\r\n secure: true,\r\n });\r\n }\r\n\r\n this.loginUser();\r\n }\r\n }\r\n\r\n loginUser(): void {\r\n if (this.loginDetails) {\r\n //this.removeStyleSheets();\r\n\r\n this.bsLoadingOverlayService.wrap(\r\n {\r\n referenceId: \"user.login\",\r\n },\r\n () => {\r\n delete this.$http.defaults.headers.common[\"Accept\"];\r\n\r\n if (this.loginDetails.enumAuthenticationType == 1)\r\n return this.userAccountService.loginUser().save(\r\n this.loginDetails,\r\n (data) => {\r\n this.successLogin(data);\r\n },\r\n (data) => {\r\n this.failureLogin(data);\r\n }\r\n ).$promise;\r\n if (this.loginDetails.enumAuthenticationType == 2)\r\n return this.userAccountService.loginADUser().save(\r\n this.loginDetails,\r\n (data) => {\r\n this.successLogin(data);\r\n },\r\n (data) => {\r\n this.failureLogin(data);\r\n }\r\n ).$promise;\r\n if (this.loginDetails.enumAuthenticationType == 3)\r\n return this.userAccountService.loginAADUser().save(\r\n this.loginDetails,\r\n (data) => {\r\n this.successLogin(data);\r\n },\r\n (data) => {\r\n this.failureLogin(data);\r\n }\r\n ).$promise;\r\n }\r\n );\r\n }\r\n }\r\n\r\n successLogin(data: interfaces.applicationcore.IUser): void {\r\n //Login Success if token is received\r\n if (data.Token) {\r\n //this.$rootScope.isLoggedIn = true;\r\n this.$rootScope.userFullName = data.FirstName + \" \" + data.Surname;\r\n this.$rootScope.userId = data.UserId;\r\n this.$rootScope.sessionDoesNotExpire = false;\r\n this.$rootScope.userToken = data.Token;\r\n this.$rootScope.userEmail = data.Email;\r\n this.$rootScope.isLoggedIn = true; //rather leave this after all rootScope variables are set, as there is a Watch on this field\r\n\r\n if (\r\n location.hostname === \"localhost\" ||\r\n location.hostname === \"127.0.0.1\" ||\r\n location.protocol === \"http:\"\r\n ) {\r\n this.$cookies.put(\"userFullName\", this.$rootScope.userFullName);\r\n this.$cookies.put(\"userId\", this.$rootScope.userId);\r\n this.$cookies.put(\"userToken\", data.Token);\r\n } else {\r\n this.$cookies.put(\"userFullName\", this.$rootScope.userFullName, {\r\n samesite: \"None\",\r\n secure: true,\r\n });\r\n this.$cookies.put(\"userId\", this.$rootScope.userId, {\r\n samesite: \"None\",\r\n secure: true,\r\n });\r\n this.$cookies.put(\"userToken\", data.Token, {\r\n samesite: \"None\",\r\n secure: true,\r\n });\r\n }\r\n\r\n this.$http.defaults.headers.common[\"Authorization\"] =\r\n \"Bearer \" + this.$rootScope.userToken;\r\n\r\n this.loadDescriptions();\r\n\r\n var msgHandler = {\r\n Messages: [\r\n {\r\n Description: \"\",\r\n Detail: \"\",\r\n MessageType: 3,\r\n MessageItems: [\r\n {\r\n LocaleDescription: \"Success\",\r\n TypeEnum: 3,\r\n TypeId: 3,\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n\r\n this.generalService.displayMessageHandler(\r\n msgHandler\r\n );\r\n\r\n if (data.PasswordExpired) {\r\n this.$state.go(\"changePassword\");\r\n } else {\r\n if (\r\n this.$rootScope.previousPath &&\r\n this.$rootScope.previousPath !== \"/login\" &&\r\n this.$rootScope.previousPath !== \"/unauthorised\"\r\n ) {\r\n var previousPath = this.$rootScope.previousPath;\r\n this.$rootScope.previousPath = null;\r\n this.$location.url(previousPath);\r\n } else {\r\n var activeEntity = this.$cookies.get(\"activeEntity\");\r\n if (activeEntity) {\r\n this.entityService.setUserEntity(Number(activeEntity)).save(\r\n (msgHandler: interfaces.applicationcore.IMessageHandler) => {\r\n this.redirectAfterLogin();\r\n },\r\n (failureData) => {\r\n this.redirectAfterLogin();\r\n }\r\n );\r\n } else {\r\n this.redirectAfterLogin();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n redirectAfterLogin() {\r\n this.$state.go(\"auth.Default\");\r\n }\r\n\r\n failureLogin(errorResponse): void {\r\n this.generalService.displayMessageHandler(\r\n errorResponse.data\r\n );\r\n }\r\n\r\n loadDescriptions() {\r\n this.descriptionService.loadDescriptions();\r\n }\r\n }\r\n }\r\n\r\n angular\r\n .module(\"app\")\r\n .controller(\"azureADCtrl\", controllers.applicationcore.azureADCtrl);\r\n}\r\n"]}