{"version":3,"file":"docs\\js\\social-login.service.js","sources":["../../src/app/social-login/social-login.service.js"],"sourcesContent":["\r\nconst environment = {\r\n\tcurrentLanguage: 'it',\r\n\tfacebook: {\r\n\t\tappId: '610048027052371',\r\n\t\tfields: 'id,name,first_name,last_name,email,gender,picture,cover,link',\r\n\t\tscope: 'public_profile, email', // publish_stream\r\n\t\ttokenClient: '951b013fe59b05cf471d869aae9ba6ba',\r\n\t\tversion: 'v11.0',\r\n\t},\r\n\tgoogle: {\r\n\t\tclientId: '760742757246-61qknlmthbmr54bh7ch19kjr0sftm4q3.apps.googleusercontent.com',\r\n\t},\r\n\tlinkedIn: {\r\n\t\tclientId: '77cg5ls5lgu3k3',\r\n\t\tclientSecret: 'gfBIl365EdckxCgK',\r\n\t\tscope: 'r_emailaddress r_liteprofile',\r\n\t},\r\n};\r\n\r\nexport class OnceService {\r\n\tstatic script$(url, callback) {\r\n\t\t// console.log('OnceScript.script$', url, callback);\r\n\t\tlet item = this.paths.find(x => x.url === url);\r\n\t\tif (item != null) {\r\n\t\t\treturn item.callback$;\r\n\t\t} else {\r\n\t\t\titem = { url, callbacks$: null };\r\n\t\t\tthis.paths.push(item);\r\n\t\t\tlet callbackName;\r\n\t\t\tif (callback === true) {\r\n\t\t\t\tcallbackName = 'OnceCallback' + (++this.uid);\r\n\t\t\t\turl = url.split('{{callback}}').join(callbackName);\r\n\t\t\t} else {\r\n\t\t\t\tcallbackName = callback;\r\n\t\t\t}\r\n\t\t\tlet callback$;\r\n\t\t\tconst script = document.createElement('script');\r\n\t\t\tscript.type = 'text/javascript';\r\n\t\t\tif (callback) {\r\n\t\t\t\tcallback$ = new Promise((resolve, reject) => {\r\n\t\t\t\t\twindow[callbackName] = function(data) {\r\n\t\t\t\t\t\t// console.log('OnceScript', callbackName, data);\r\n\t\t\t\t\t\tresolve(data);\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tscript.async = true;\r\n\t\t\t\tcallback$ = new Promise((resolve, reject) => {\r\n\t\t\t\t\tscript.onload = (event) => {\r\n\t\t\t\t\t\tresolve(event);\r\n\t\t\t\t\t};\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\titem.callback$ = callback$;\r\n\t\t\tconst scripts = Array.prototype.slice.call(document.getElementsByTagName('script'));\r\n\t\t\tif (scripts.length) {\r\n\t\t\t\tscript.src = url;\r\n\t\t\t\tconst lastScript = scripts[scripts.length - 1];\r\n\t\t\t\tlastScript.parentNode.insertBefore(script, lastScript.nextSibling);\r\n\t\t\t}\r\n\t\t\t// console.log('OnceScript.script$', scripts.length, script.src, scripts.map(x => x.src).join(', '));\r\n\t\t\treturn callback$;\r\n\t\t}\r\n\t}\r\n}\r\nOnceService.uid = 0;\r\nOnceService.paths = [];\r\n\r\nexport class FacebookService {\r\n\r\n\tstatic facebook$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (window.location.protocol.indexOf('https') !== -1) {\r\n\t\t\t\tif (this.facebook_) {\r\n\t\t\t\t\tresolve(this.facebook_);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tOnceService.script$('//connect.facebook.net/' + environment.currentLanguage + '/sdk.js', 'fbAsyncInit').then(\r\n\t\t\t\t\t\t_ => {\r\n\t\t\t\t\t\t\tconst facebook = window['FB'];\r\n\t\t\t\t\t\t\tfacebook.init({\r\n\t\t\t\t\t\t\t\tappId: environment.facebook.appId,\r\n\t\t\t\t\t\t\t\t// status: true,\r\n\t\t\t\t\t\t\t\tcookie: true,\r\n\t\t\t\t\t\t\t\txfbml: true,\r\n\t\t\t\t\t\t\t\tversion: environment.facebook.version,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tfacebook.AppEvents.logPageView();\r\n\t\t\t\t\t\t\tthis.facebook_ = facebook;\r\n\t\t\t\t\t\t\tresolve(facebook);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\terror => {\r\n\t\t\t\t\t\t\treject(error);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst message = 'FacebookService.facebook$.error https required';\r\n\t\t\t\treject(message);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstatic status$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.facebook$().then(\r\n\t\t\t\tfacebook => {\r\n\t\t\t\t\tif (facebook !== null) {\r\n\t\t\t\t\t\tfacebook.getLoginStatus((response) => {\r\n\t\t\t\t\t\t\tthis.authResponse_ = null;\r\n\t\t\t\t\t\t\tif (response.status === 'connected') {\r\n\t\t\t\t\t\t\t\tthis.authResponse_ = response.authResponse;\r\n\t\t\t\t\t\t\t\tresolve(response);\r\n\t\t\t\t\t\t\t} else if (response.status === 'not_authorized') {\r\n\t\t\t\t\t\t\t\treject(response);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\treject(null);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, { scope: environment.facebook.scope });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treject(null);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tstatic login$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.facebook$().then(\r\n\t\t\t\tfacebook => {\r\n\t\t\t\t\tif (facebook !== null) {\r\n\t\t\t\t\t\tfacebook.login((response) => {\r\n\t\t\t\t\t\t\tthis.authResponse_ = null;\r\n\t\t\t\t\t\t\tif (response.status === 'connected') {\r\n\t\t\t\t\t\t\t\tthis.authResponse_ = response.authResponse;\r\n\t\t\t\t\t\t\t\tresolve(response);\r\n\t\t\t\t\t\t\t} else if (response.status === 'not_authorized') {\r\n\t\t\t\t\t\t\t\treject(response);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\treject(response);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, { scope: environment.facebook.scope });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treject(null);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\tconsole.log('FacebookService.login$.error', error);\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tstatic logout$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.status$().then(\r\n\t\t\t\tfacebook => {\r\n\t\t\t\t\tif (facebook !== null) {\r\n\t\t\t\t\t\tthis.facebook_.logout(response => {\r\n\t\t\t\t\t\t\tresolve(response);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treject(null);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tstatic me$(fields) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.status$().then(\r\n\t\t\t\tstatus => {\r\n\t\t\t\t\tif (status !== null) {\r\n\t\t\t\t\t\tfields = fields || environment.facebook.fields;\r\n\t\t\t\t\t\tthis.facebook_.api('/me', {\r\n\t\t\t\t\t\t\tfields: fields,\r\n\t\t\t\t\t\t\taccessToken: environment.facebook.tokenClient,\r\n\t\t\t\t\t\t}, (response) => {\r\n\t\t\t\t\t\t\tif (!response || response.error) {\r\n\t\t\t\t\t\t\t\tconst error = response ? response.error : 'error';\r\n\t\t\t\t\t\t\t\tconsole.log('FacebookService.getMe.error', error);\r\n\t\t\t\t\t\t\t\treject(response.error);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconst user = response;\r\n\t\t\t\t\t\t\t\tuser.authResponse = this.authResponse_;\r\n\t\t\t\t\t\t\t\tuser.facebookToken = this.authResponse_.accessToken;\r\n\t\t\t\t\t\t\t\tresolve(user);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.login$().then(success => resolve(success), error => reject(error));\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror => {\r\n\t\t\t\t\tthis.login$().then(success => resolve(success), error => reject(error));\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n}\r\nFacebookService.facebook_ = null;\r\nFacebookService.authResponse_ = null;\r\n\r\n\r\nexport class GoogleService {\r\n\r\n\tstatic google$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (this.gapi) {\r\n\t\t\t\tresolve(this.gapi);\r\n\t\t\t} else {\r\n\t\t\t\tthis.once$().then(success => resolve(success), error => reject(error));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstatic once$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\treturn OnceService.script$('//apis.google.com/js/api:client.js?onload={{callback}}', true).then(\r\n\t\t\t\t_ => {\r\n\t\t\t\t\tthis.gapi = window['gapi'];\r\n\t\t\t\t\tresolve(this.gapi);\r\n\t\t\t\t},\r\n\t\t\t\terror => reject(error),\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tstatic getAuth2$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst auth2Init = () => {\r\n\t\t\t\tthis.gapi.auth2.init({\r\n\t\t\t\t\tclient_id: environment.google.clientId,\r\n\t\t\t\t\tcookiepolicy: 'single_host_origin',\r\n\t\t\t\t\tscope: 'profile email',\r\n\t\t\t\t\tfetch_basic_profile: true,\r\n\t\t\t\t\tux_mode: 'popup',\r\n\t\t\t\t}).then(() => {\r\n\t\t\t\t\tthis.auth2 = this.gapi.auth2;\r\n\t\t\t\t\t// console.log('Auth2Init.success', this.auth2);\r\n\t\t\t\t\tresolve(this.auth2);\r\n\t\t\t\t}, reject);\r\n\t\t\t};\r\n\t\t\tif (this.auth2) {\r\n\t\t\t\tresolve(this.auth2);\r\n\t\t\t} else {\r\n\t\t\t\tthis.google$().then(\r\n\t\t\t\t\tsuccess => {\r\n\t\t\t\t\t\tif (this.gapi.auth2) {\r\n\t\t\t\t\t\t\tauth2Init();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.gapi.load('auth2', () => {\r\n\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\tauth2Init();\r\n\t\t\t\t\t\t\t\t}, 200);\r\n\t\t\t\t\t\t\t}, reject);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, error => reject(error)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstatic auth2Instance$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tif (this.instance) {\r\n\t\t\t\tresolve(this.instance);\r\n\t\t\t} else {\r\n\t\t\t\tthis.getAuth2$().then(success => {\r\n\t\t\t\t\tthis.instance = this.auth2.getAuthInstance();\r\n\t\t\t\t\tresolve(this.instance);\r\n\t\t\t\t}, error => reject(error));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tstatic login$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.auth2Instance$().then(success => {\r\n\t\t\t\tthis.signin$().then(success => resolve(success), error => reject(error));\r\n\t\t\t}, error => reject(error));\r\n\t\t});\r\n\t}\r\n\r\n\tstatic logout$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.auth2Instance$().then(success => {\r\n\t\t\t\tif (this.instance.isSignedIn && this.instance.isSignedIn.get()) {\r\n\t\t\t\t\tthis.instance.signOut().then((signed) => {\r\n\t\t\t\t\t\tresolve();\r\n\t\t\t\t\t}, reject);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve();\r\n\t\t\t\t}\r\n\t\t\t}, error => reject(error));\r\n\t\t});\r\n\t}\r\n\r\n\tstatic me$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.login$().then(success => {\r\n\t\t\t\tconst profile = this.instance.currentUser.get().getBasicProfile();\r\n\t\t\t\tconst user = {\r\n\t\t\t\t\tid: profile.getId(),\r\n\t\t\t\t\tname: profile.getName(),\r\n\t\t\t\t\tfirstName: profile.getGivenName(),\r\n\t\t\t\t\tlastName: profile.getFamilyName(),\r\n\t\t\t\t\tpicture: profile.getImageUrl(),\r\n\t\t\t\t\temail: profile.getEmail(),\r\n\t\t\t\t\tauthResponse: this.authResponse,\r\n\t\t\t\t\tgoogleToken: this.authResponse.access_token,\r\n\t\t\t\t};\r\n\t\t\t\tresolve(user);\r\n\t\t\t}, error => reject(error));\r\n\t\t});\r\n\t}\r\n\r\n\tstatic signin$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst readAccessToken = () => {\r\n\t\t\t\t// console.log('GoogleLogin.readAccessToken');\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst user = this.instance.currentUser.get().getAuthResponse(true);\r\n\t\t\t\t\t// console.log('GoogleLogin.readAccessToken.success', user);\r\n\t\t\t\t\tthis.authResponse = user;\r\n\t\t\t\t\tresolve({\r\n\t\t\t\t\t\tcode: user.access_token,\r\n\t\t\t\t\t});\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.log('GoogleLogin.readAccessToken.error', error);\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tif (this.instance.isSignedIn && this.instance.isSignedIn.get()) {\r\n\t\t\t\treadAccessToken();\r\n\t\t\t} else {\r\n\t\t\t\tthis.instance.signIn({\r\n\t\t\t\t\tscope: 'profile email',\r\n\t\t\t\t}).then((signed) => {\r\n\t\t\t\t\treadAccessToken();\r\n\t\t\t\t}, (error) => {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n}\r\n\r\nexport class LinkedinService {\r\n\r\n\tstatic linkedin$() {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst key = 'linkedin';\r\n\t\t\tconst state = `${key}-${new Date().getTime()}`;\r\n\t\t\tconst onNext = (code) => {\r\n\t\t\t\tconst data = {\r\n\t\t\t\t\tgrant_type: 'authorization_code',\r\n\t\t\t\t\tcode: code,\r\n\t\t\t\t\tclient_id: environment.linkedIn.clientId,\r\n\t\t\t\t\tclient_secret: environment.linkedIn.clientSecret,\r\n\t\t\t\t\tredirect_uri: `${window.location.origin}/IT/it/cassa`,\r\n\t\t\t\t};\r\n\t\t\t\tfetch('/api/user/linkedin', {\r\n\t\t\t\t\tmethod: 'POST', // *GET, POST, PUT, DELETE, etc.\r\n\t\t\t\t\tmode: 'cors', // no-cors, *cors, same-origin\r\n\t\t\t\t\tcache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n\t\t\t\t\tcredentials: 'same-origin', // include, *same-origin, omit\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t\t\t\t// 'Content-Type': 'application/x-www-form-urlencoded',\r\n\t\t\t\t\t},\r\n\t\t\t\t\tredirect: 'follow', // manual, *follow, error\r\n\t\t\t\t\treferrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url\r\n\t\t\t\t\tbody: JSON.stringify(data) // body data type must match \"Content-Type\" header\r\n\t\t\t\t}).then(response => response.json()).then(user => {\r\n\t\t\t\t\tresolve(user);\r\n\t\t\t\t}, error => reject(error));\r\n\t\t\t};\r\n\t\t\twindow.onSocialCallback = (social, params) => {\r\n\t\t\t\tif (social === 'linkedin' && params.state === state) {\r\n\t\t\t\t\tconsole.log('onSocialCallback', params.code);\r\n\t\t\t\t\tonNext(params.code);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tconst width = 375 * 2;\r\n\t\t\tconst height = 667;\r\n\t\t\twindow.open(\r\n\t\t\t\t`https://www.linkedin.com/oauth/v2/authorization?response_type=code&client_id=${environment.linkedIn.clientId}&redirect_uri=${window.location.origin}/giorgetti/cart.html&state=${state}&scope=${environment.linkedIn.scope}`,\r\n\t\t\t\tkey,\r\n\t\t\t\t`top=${Math.floor((window.innerHeight - height) / 2)}, left=${Math.floor((window.innerWidth - width) / 2)}, width=${width}, height=${height}, status=no, menubar=no, toolbar=no scrollbars=no`,\r\n\t\t\t);\r\n\t\t\t// https://localhost:48481/giorgetti/cart.html?code=AQRqT4xWst4rcKM_sarxRTHP7PJ_eUbiQP30KZuyjGgSuoNQjZzJtSIu6laX6o-R-hy9obrIhzRKA3EshZfkIgo-ErIEahuyyAkY7Lg5PRFCEDdJxiy-cKyz8O9Vl6wVs2hoO_m7QvhLB22YfL_qqtToWqEUvWLwWqVTzRgEbu_U2AWDltOP_mSVNLge3Qc_uRV6VZDPeQqPcY2ICgo&state=foobar\r\n\r\n\t\t});\r\n\t}\r\n\r\n}\r\n\r\n\r\nexport class SocialLoginService {\r\n\r\n\tstatic onFacebookLogin() {\r\n\t\tconsole.log('SocialLogin.onFacebookLogin');\r\n\t\tthis.socialBusy = 'facebook';\r\n\t\tlet socialMe;\r\n\t\tfunction mapMe(data) {\r\n\t\t\t// console.log(data);\r\n\t\t\t/*\r\n\t\t\tauthResponse:\r\n\t\t\t\taccessToken: string\r\n\t\t\t\tdata_access_expiration_time: 1633594543\r\n\t\t\t\texpiresIn: 5164299\r\n\t\t\t\tgraphDomain: \"facebook\"\r\n\t\t\t\tsignedRequest: string\r\n\t\t\t\tuserID: string\r\n\t\t\temail: string\r\n\t\t\tfacebookToken: string\r\n\t\t\tfirst_name: string\r\n\t\t\tid: string\r\n\t\t\tlast_name: string\r\n\t\t\tname: string\r\n\t\t\tpicture:\r\n\t\t\t\tdata:\r\n\t\t\t\t\theight: 50\r\n\t\t\t\t\tis_silhouette: false\r\n\t\t\t\t\turl: string\r\n\t\t\t\t\twidth: 50\r\n\t\t\t*/\r\n\t\t\tconst me = {};\r\n\t\t\tif (data) {\r\n\t\t\t\tme.firstName = data.first_name;\r\n\t\t\t\tme.lastName = data.last_name;\r\n\t\t\t\tme.email = data.email;\r\n\t\t\t\tme.socialPicture = data.picture.data.url;\r\n\t\t\t\tme.socialType = 'facebook';\r\n\t\t\t\tme.socialId = data.id;\r\n\t\t\t\tme.socialToken = data.facebookToken;\r\n\t\t\t\tme.socialTokenExpiresAt = data.authResponse.data_access_expiration_time;\r\n\t\t\t}\r\n\t\t\tconsole.log('CartComponent.onFacebookLogin.mapMe', me);\r\n\t\t\treturn me;\r\n\t\t}\r\n\t\tFacebookService.me$().then(\r\n\t\t\tme => {\r\n\t\t\t\tsocialMe = me;\r\n\t\t\t\t// const user = UserService.tryFacebook$(me)\r\n\t\t\t\tconst user = null;\r\n\t\t\t\tthis.socialBusy = false;\r\n\t\t\t\tif (user) {\r\n\t\t\t\t\tthis.onUser(user);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst me = mapMe(socialMe);\r\n\t\t\t\t\tthis.onSignUp(me);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror => {\r\n\t\t\t\tconsole.log('SocialLogin.onFacebookLogin.error', error);\r\n\t\t\t\tconst me = mapMe(socialMe);\r\n\t\t\t\tthis.onSignUp(me);\r\n\t\t\t});\r\n\t}\r\n\r\n\tstatic onGoogleLogin() {\r\n\t\tconsole.log('SocialLogin.onGoogleLogin');\r\n\t\tthis.socialBusy = 'google';\r\n\t\tlet socialMe;\r\n\t\tfunction mapMe(data) {\r\n\t\t\t// console.log(data);\r\n\t\t\t/*\r\n\t\t\tauthResponse:\r\n\t\t\t\taccess_token: string\r\n\t\t\t\texpires_at: 1625838392809\r\n\t\t\t\texpires_in: 3599\r\n\t\t\t\tfirst_issued_at: 1625834793809\r\n\t\t\t\tid_token: string\r\n\t\t\t\tidpId: \"google\"\r\n\t\t\t\tlogin_hint: string\r\n\t\t\t\tscope: \"email profile openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile\"\r\n\t\t\t\tsession_state: {extraQueryParams: {…}}\r\n\t\t\t\ttoken_type: \"Bearer\"\r\n\t\t\temail: string\r\n\t\t\tfirstName: string\r\n\t\t\tgoogleToken: string\r\n\t\t\tid: string\r\n\t\t\tlastName: string\r\n\t\t\tname: string\r\n\t\t\tpicture: string\r\n\t\t\t*/\r\n\t\t\tconst me = {};\r\n\t\t\tif (data) {\r\n\t\t\t\tme.firstName = data.firstName;\r\n\t\t\t\tme.lastName = data.lastName;\r\n\t\t\t\tme.email = data.email;\r\n\t\t\t\tme.socialPicture = data.picture;\r\n\t\t\t\tme.socialType = 'google';\r\n\t\t\t\tme.socialId = data.id;\r\n\t\t\t\tme.socialToken = data.googleToken;\r\n\t\t\t\tme.socialTokenExpiresAt = data.authResponse.expires_at;\r\n\t\t\t}\r\n\t\t\tconsole.log('CartComponent.onGoogleLogin.mapMe', me);\r\n\t\t\treturn me;\r\n\t\t}\r\n\t\tGoogleService.me$().then(\r\n\t\t\tme => {\r\n\t\t\t\tsocialMe = me;\r\n\t\t\t\t// const user = UserService.tryGoogle$(me)\r\n\t\t\t\tconst user = null;\r\n\t\t\t\tthis.socialBusy = false;\r\n\t\t\t\tif (user) {\r\n\t\t\t\t\tthis.onUser(user);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconst me = mapMe(socialMe);\r\n\t\t\t\t\tthis.onSignUp(me);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror => {\r\n\t\t\t\tconsole.log('SocialLogin.onGoogleLogin.error', error);\r\n\t\t\t\tconst me = mapMe(socialMe);\r\n\t\t\t\tthis.onSignUp(me);\r\n\t\t\t});\r\n\t}\r\n\r\n\tstatic onLinkedinLogin() {\r\n\t\tconsole.log('SocialLogin.onLinkedinLogin');\r\n\t\tthis.socialBusy = 'linkedin';\r\n\t\tLinkedinService.linkedin$().then(\r\n\t\t\tme => {\r\n\t\t\t\tconsole.log('CartComponent.onLinkedinLogin', me);\r\n\t\t\t\t// const user = UserService.tryLinkedin$(me)\r\n\t\t\t\tconst user = null;\r\n\t\t\t\tthis.socialBusy = false;\r\n\t\t\t\tif (user) {\r\n\t\t\t\t\tthis.onUser(user);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.onSignUp(me);\r\n\t\t\t\t}\r\n\t\t\t}, error => {\r\n\t\t\t\tconsole.log('CartComponent.onLinkedinLogin.error', error);\r\n\t\t\t\tthis.onSignUp(null);\r\n\t\t\t});\r\n\t}\r\n\r\n\tstatic onSignUp(me) {\r\n\t\tif (typeof (ga) !== \"undefined\")\r\n\t\t\tga('send', 'event', 'Metodo acquisto', 'registrati');\r\n\t\t$(\".noLogged\").hide();\r\n\t\t$(\".Logged\").show();\r\n\t\tif (me) {\r\n\t\t\tconsole.log('SocialLogin.onSignUp', me);\r\n\t\t\t$(\"input#Nome\").val(me.firstName);\r\n\t\t\t$(\"input#Cognome\").val(me.lastName);\r\n\t\t\t$(\"input#Email\").val(me.email);\r\n\t\t}\r\n\t}\r\n\r\n\tstatic onUser(user) {\r\n\t}\r\n\r\n\tstatic init() {\r\n\t\tconst buttons = Array.prototype.slice.call(document.querySelectorAll('.nav--social button'));\r\n\t\tbuttons.forEach(button => {\r\n\t\t\tbutton.addEventListener('click', (event) => {\r\n\t\t\t\tswitch (button.getAttribute('data-social')) {\r\n\t\t\t\t\tcase 'facebook':\r\n\t\t\t\t\t\tthis.onFacebookLogin();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'google':\r\n\t\t\t\t\t\tthis.onGoogleLogin();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'linkedin':\r\n\t\t\t\t\t\tthis.onLinkedinLogin();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n}\r\n\r\nwindow.onload = () => {\r\n\tSocialLoginService.init();\r\n};\r\n"],"names":["environment","currentLanguage","facebook","appId","fields","scope","tokenClient","version","google","clientId","linkedIn","clientSecret","OnceService","script$","url","callback","item","paths","find","x","callback$","callbacks$","push","callbackName","uid","split","join","script","document","createElement","type","Promise","resolve","reject","window","data","async","onload","event","scripts","Array","prototype","slice","call","getElementsByTagName","length","src","lastScript","parentNode","insertBefore","nextSibling","FacebookService","facebook$","location","protocol","indexOf","facebook_","then","_","init","cookie","xfbml","AppEvents","logPageView","error","message","status$","getLoginStatus","response","authResponse_","status","authResponse","login$","login","console","log","logout$","logout","me$","api","accessToken","user","facebookToken","success","GoogleService","google$","gapi","once$","getAuth2$","auth2Init","auth2","client_id","cookiepolicy","fetch_basic_profile","ux_mode","load","setTimeout","auth2Instance$","instance","getAuthInstance","signin$","isSignedIn","get","signOut","signed","profile","currentUser","getBasicProfile","id","getId","name","getName","firstName","getGivenName","lastName","getFamilyName","picture","getImageUrl","email","getEmail","googleToken","access_token","readAccessToken","getAuthResponse","code","signIn","LinkedinService","linkedin$","key","state","Date","getTime","onNext","grant_type","client_secret","redirect_uri","origin","fetch","method","mode","cache","credentials","headers","redirect","referrerPolicy","body","JSON","stringify","json","onSocialCallback","social","params","width","height","open","Math","floor","innerHeight","innerWidth","SocialLoginService","onFacebookLogin","socialBusy","socialMe","mapMe","me","first_name","last_name","socialPicture","socialType","socialId","socialToken","socialTokenExpiresAt","data_access_expiration_time","onSignUp","onGoogleLogin","expires_at","onLinkedinLogin","ga","$","hide","show","val","onUser","buttons","querySelectorAll","forEach","button","addEventListener","getAttribute"],"mappings":"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"}