Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Vue.use(VueMaterial);
- Vue.material.registerPalette( 'my-palette', {
- 50: '#fae4e7',
- 100: '#f3bcc2',
- 200: '#ec909a',
- 300: '#e46371',
- 400: '#de4152',
- 500: '#d82034',
- 600: '#d41c2f',
- 700: '#ce1827',
- 800: '#c81321',
- 900: '#bf0b15',
- A100: '#ffebeb',
- A200: '#ffb8ba',
- A400: '#ff8589',
- A700: '#ff6b70',
- darkText: [50,100,200,300,"A100","A200","A400","A700"]
- });
- Vue.material.registerTheme( 'slpp', { primary: 'my-palette',accent: 'my-palette',
- warn: 'my-palette'} );
- Vue.material.setCurrentTheme('slpp')
- var tokenBaseUrl = "http://identity.swisslifecorporateclients.com/identity/token";
- var version = Math.floor(Date.now() / 1000);
- var supportedLanguages = [
- {
- "name": "English",
- "key": "en-US"
- },
- {
- "name": "German",
- "key": "de-DE"
- },
- {
- "name": "French",
- "key": "fr-FR"
- }
- ];
- var localizationJson = {
- en:{
- login:"Login"
- },
- fr:{
- login:"Login FR"
- },
- de:{
- login:"Login DE"
- }
- }
- var isDevelopment = window.location.host.indexOf(":") !== -1;
- var siteUrl = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port :'');
- var data = {
- loaded: false,
- userName:'',
- password:'',
- rememberMe:false,
- language:'en-US',
- isProductionBuild:true,
- isEmailEmpty:false,
- isPasswordEmpty:false,
- localizationData:localizationJson.en,
- supportedLanguages:supportedLanguages,
- isProcessingLogin:false,
- saaSiteUrl: isDevelopment? location.protocol + '//' + window.location.hostname + ':8080/src/index.html#/login/forgot-password': location.protocol + '//' + window.location.hostname+'/index.html#/login/forgot-password'
- };
- var notifySessionStorageUpdate = '__session_storage_notification?';
- new Vue({
- el: '#login',
- data: data,
- methods: {
- login: function () {
- data.isProcessingLogin = true;
- var tokenStorage = this.tokenStorage();
- var xmlhttp = new XMLHttpRequest();
- xmlhttp.onreadystatechange = function() {
- data.isProcessingLogin = false;
- if (xmlhttp.status == 400) {
- var responseData = JSON.parse(xmlhttp.responseText);
- switch (responseData && responseData.error) {
- case "term_and_condition_acceptance_require":
- sessionStorage.removeItem('personaConfig');
- var contextId = JSON.parse(responseData.error_description)["ContextId"];
- var requiredTermsAndConditions = JSON.parse(responseData.error_description)["RequiredTermsAndConditions"];
- location.replace(siteUrl + "/index.html#/gdpr?terms=" + requiredTermsAndConditions + "&contextId=" + contextId + "&userName=" + data.userName + "&redirectUrl=");
- break;
- case "two_factor_code_require":
- sessionStorage.removeItem('personaConfig');
- var errorDiscription = JSON.parse(responseData.error_description);
- location.replace(siteUrl + "/index.html#/login?twofactorRequired=true&psudoNumber=" + errorDiscription.PsudoNumber + "&twoFactorToken=" + errorDiscription.TwoFactorToken);
- break;
- case "persona_require":
- var config = {
- personaInfo: JSON.parse(responseData.error_description),
- rememberMe: data.rememberMe
- }
- sessionStorage.setItem('personaConfig', JSON.stringify(config));
- location.replace(siteUrl + "/index.html#/login");
- break;
- default:
- location.replace(siteUrl + "/index.html#/login");
- break;
- }
- }
- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
- try {
- var response = JSON.parse(xmlhttp.responseText);
- } catch(err) {
- return;
- }
- //callback(data);
- if(!data.rememberMe){
- tokenStorage.setSessionStorage(response);
- }
- else {
- tokenStorage.setLocalStorage(response);
- }
- localStorage.setItem(notifySessionStorageUpdate, JSON.stringify(localStorage));
- localStorage.removeItem(notifySessionStorageUpdate);
- location.replace(siteUrl+"/index.html");
- }
- };
- xmlhttp.open("POST", tokenBaseUrl, true);
- xmlhttp.setRequestHeader( 'Access-Control-Allow-Origin', '*');
- xmlhttp.setRequestHeader("Accept","application/json, text/plain, */*");
- xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- var tokenPayloaObj = "grant_type=password&next_url=''&password="+data.password+"&remember_me="+data.rememberMe+"&username="+data.userName+"";
- xmlhttp.send(tokenPayloaObj);
- },
- requestAnonymousToken:function (callback) {
- var token_credentials = "grant_type=authenticate_site";
- var xmlhttp = new XMLHttpRequest();
- xmlhttp.onreadystatechange = function() {
- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
- try {
- var data = JSON.parse(xmlhttp.responseText);
- } catch(err) {
- return;
- }
- callback(data);
- }
- };
- xmlhttp.open("POST", tokenBaseUrl, true);
- xmlhttp.setRequestHeader( 'Access-Control-Allow-Origin', '*');
- xmlhttp.setRequestHeader("Accept","application/json, text/plain, */*");
- xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xmlhttp.send(token_credentials);
- },
- tokenStorage:function(){
- const access_token = "access_token";
- const client_id = "client_id";
- const refresh_token = "refresh_token";
- return{
- setSessionStorage: function (response){
- sessionStorage.setItem(access_token, response.access_token);
- sessionStorage.setItem(client_id, response.client_id);
- sessionStorage.setItem(refresh_token, response.refresh_token);
- },
- setLocalStorage:function (response){
- localStorage.setItem(access_token, response.access_token);
- localStorage.setItem(client_id, response.client_id);
- localStorage.setItem(refresh_token, response.refresh_token);
- },
- getToken:function(){
- var token;
- if(!localStorage.getItem('access_token')){
- token = sessionStorage.getItem('access_token');
- }
- else{
- token = localStorage.getItem('access_token');
- }
- return token;
- }
- }
- },
- GetLoggedInUser:function(callback){
- var baseUrl = "http://identity.swisslifecorporateclients.com/identity/Authentication/GetLoggedInUser?cacheBuster=" + new Date().getTime()+"";
- var token = this.tokenStorage().getToken();
- var xmlhttp = new XMLHttpRequest();
- xmlhttp.onreadystatechange = function() {
- if (xmlhttp.readyState == 4 && (xmlhttp.status == 200 || xmlhttp.status == 401)) {
- try {
- var data = JSON.parse(xmlhttp.responseText);
- } catch(err) {
- return;
- }
- callback(data);
- }
- };
- xmlhttp.open("GET", baseUrl, true);
- xmlhttp.setRequestHeader( 'Access-Control-Allow-Origin', '*');
- xmlhttp.setRequestHeader("Accept","application/json, text/plain, */*");
- xmlhttp.setRequestHeader("Authorization","bearer " + token);
- xmlhttp.send();
- },
- validateRequired:function(type){
- if(type==='email' && data.userName===''){
- data.isEmailEmpty = true;
- }
- else{
- data.isEmailEmpty = false;
- }
- if(type==='password' && data.password===''){
- data.isPasswordEmpty = true;
- }
- else{
- data.isPasswordEmpty = false;
- }
- },
- changeLanguage:function(){
- if(data.language==='fr-FR'){
- data.localizationData = localizationJson.fr;
- }
- else if(data.language==='de-DE'){
- data.localizationData = localizationJson.de;
- }
- else{
- data.localizationData = localizationJson.en;
- }
- },
- addUrlParam:function(){
- if (history.pushState) {
- //var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + '?v='+new Date().getTime()+'';
- var newurl = siteUrl + '/?v='+version+'';
- window.history.pushState({path:newurl},'',newurl);
- }
- },
- downloadTermsService:function () {
- var link = document.createElement("a");
- document.body.appendChild(link);
- link.setAttribute("type", "hidden");
- link.setAttribute("target", "_blank");
- link.setAttribute("download", "");
- if (isDevelopment) {
- link.href = window.location.protocol + "//" + window.location.host + '/src/tenant/slpp/app/business/side-navigation/assets/TermsofService_SLPP_v01.pdf';
- } else {
- link.href = window.location.protocol + "//" + window.location.host + '/tenant/slpp/app/business/side-navigation/assets/TermsofService_SLPP_v01.pdf';
- }
- link.click();
- link.parentElement.removeChild(link);
- },
- downloadPrivacyPolicy:function () {
- var link = document.createElement("a");
- document.body.appendChild(link);
- link.setAttribute("type", "hidden");
- link.setAttribute("target", "_blank");
- link.setAttribute("download", "");
- if (isDevelopment) {
- link.href = window.location.protocol + "//" + window.location.host + '/src/tenant/slpp/app/business/side-navigation/assets/PrivacyPolicy_SLPP_v01.pdf';
- } else {
- link.href = window.location.protocol + "//" + window.location.host + '/tenant/slpp/app/business/side-navigation/assets/PrivacyPolicy_SLPP_v01.pdf';
- //link.href = 'https://swisslife-saa.staging.biz/tenant/slpp/app/business/side-navigation/assets/PrivacyPolicy_SLPP_v01.pdf';
- }
- link.click();
- link.parentElement.removeChild(link);
- }
- },
- mounted: function () {
- var self = this;
- var token = self.tokenStorage().getToken();
- if(token){
- self.GetLoggedInUser(function(response){
- if(response && response.IsSuccess){
- location.replace(siteUrl+"/index.html");
- }
- else{
- data.loaded = true;
- self.requestAnonymousToken(function(response){
- var tokenStorage = self.tokenStorage();
- tokenStorage.setSessionStorage(response);
- });
- }
- });
- }
- else{
- data.loaded = true;
- self.requestAnonymousToken(function(response){
- var tokenStorage = self.tokenStorage();
- tokenStorage.setSessionStorage(response);
- });
- }
- },
- beforeCreate: function() {
- data.loaded = false;
- },
- beforeCreate: function() {
- data.loaded = false;
- },
- created:function(){
- var self = this;
- self.addUrlParam();
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement