Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- process.env.NODE_ENV = 'production';
- var firebase = require('firebase');
- var express = require('express');
- var nconf = require('nconf');
- var path = require("path");
- var ejs = require('ejs');
- var bodyParser = require('body-parser');
- var session = require('express-session');
- var Client = require('node-rest-client').Client;
- var google = require('googleapis');
- var moment = require('moment');
- var cookie = require('cookie');
- var cookieParser = require('cookie-parser');
- var CryptoJS = require("crypto-js");
- var macaddr = require("getmac");
- var USER_LOGIN = '';
- var USER_NOME = '';
- var ERROR_CODE = 0;
- //Mudacas de performance:
- //Referencia: https://www.codeday.top/2017/08/19/36926.html
- require("http").globalAgent.maxSockets = 50;
- require("https").globalAgent.maxSockets = 50;
- //compressao de dados do express
- var compression = require('compression');
- //Utilizado na autenticação por SMS
- //var firebaseui = require('firebaseui');
- var plataforma = "";
- //var useragent = require('express-useragent');
- //var logger = require('express-logger');
- var maillogin = require('./emailLogin');
- var mailcadastro = require('./emailCadastro');
- var sociallogin = require('./socialLogin');
- var phoneLogin = require('./phoneLogin');
- var md5 = require('./md5');
- nconf.argv().env().file({
- file: 'config.json'
- });
- //Inicializa Firebase
- var FIREBASE_APIKEY = nconf.get("FIREBASE_APIKEY");
- var FIREBASE_AUTHDOMAIN = nconf.get("FIREBASE_AUTHDOMAIN");
- var FIREBASE_DATABASEURL = nconf.get("FIREBASE_DATABASEURL");
- var FIREBASE_PROJECTID = nconf.get("FIREBASE_PROJECTID");
- var PROJECT_NAME = nconf.get("PROJECT_NAME");
- var FIREBASE_STORAGEBUCKET = nconf.get("FIREBASE_STORAGEBUCKET");
- var FIREBASE_MESSAGINGSENDERID = nconf.get("FIREBASE_MESSAGINGSENDERID");
- var WEBPORT = nconf.get("WEBPORT");
- var FACEBOOK_ID = nconf.get("FACEBOOK_ID");
- var FACEBOOK_SECRET = nconf.get("FACEBOOK_SECRET");
- var GOOGLE_CLIENT_ID = nconf.get("GOOGLE_CLIENT_ID");
- var GOOGLE_CLIENT_SECRET = nconf.get("GOOGLE_CLIENT_SECRET");
- var DOMAIN = nconf.get("DOMAIN");
- var ROUTERPATH = nconf.get("ROUTERPATH");
- var VERSAO_TRIIBO = nconf.get("VERSAO_TRIIBO");
- var GOOGLE_API = nconf.get("GOOGLE_API");
- var TIPO_WIFI = nconf.get("TIPO_WIFI");
- var TIPO_PLATAFORMA = nconf.get("TIPO_PLATAFORMA");
- var TIPO_CONEXAO = nconf.get("TIPO_CONEXAO");
- var FB_API = nconf.get("FB_API");
- var URL_ESTAB = nconf.get("URL_ESTAB");
- firebase.initializeApp({
- apiKey: FIREBASE_APIKEY,
- authDomain: FIREBASE_AUTHDOMAIN,
- databaseURL: FIREBASE_DATABASEURL,
- projectId: FIREBASE_PROJECTID,
- storageBucket: FIREBASE_STORAGEBUCKET,
- messagingSenderId: FIREBASE_MESSAGINGSENDERID
- });
- firebase.auth().languageCode = 'pt-br';
- var db = firebase.database();
- var app = express();
- var macAdrrServe = "";
- require('getmac').getMac(function(err, macAdrrServe) {
- if (err) throw err
- /* macAddr1 = macAddr;*/
- //console.log("Server MAC ->" + macAdrrServe);
- });
- //Seta parametros do Express
- app.engine('html', ejs.renderFile);
- app.set('view engine', 'html');
- app.use(express.static('css'));
- app.use(express.static('images'));
- app.use(express.static('frontendjs'));
- app.use(bodyParser.urlencoded({
- extended: true
- }));
- app.use(compression());
- app.use(session({
- secret: '1d858b265cdd3d818b7eb9eee25f905d'
- }));
- app.enable('trust proxy');
- app.use(cookieParser());
- //Inicializa googleApis
- var OAuth2 = google.auth.OAuth2;
- var oauth2Client = new OAuth2(
- GOOGLE_CLIENT_ID,
- GOOGLE_CLIENT_SECRET,
- DOMAIN + ROUTERPATH + '/googlelogin'
- );
- var scopes = [
- GOOGLE_API.toString() //
- ];
- var urlGoogleLogin = oauth2Client.generateAuthUrl({
- // 'online' (default) or 'offline' (gets refresh_token)
- access_type: 'offline',
- scope: scopes,
- });
- //Get da pagina de login
- app.param('rede', function(req, res, next, rede) {
- req.rede = rede;
- console.log("----- Login - Inicio em: " + rede);
- next();
- });
- app.post('/BTNFCBK', function(req, res) {
- console.log("----- Login - Facebook: Inicio");
- });
- app.post('/BTNGGLE', function(req, res) {
- console.log("----- Login - Google: Inicio");
- });
- app.all('/login/:rede', function(req, res) {
- app.use(cookieParser());
- console.log("----- /login/:rede");
- var data = new Date();
- var day = data.getDate();
- var month = data.getMonth() + 1;
- var year = data.getFullYear();
- var hour = data.getHours();
- hour = (hour < 10 ? "0" : "") + hour;
- var min = data.getMinutes();
- min = (min < 10 ? "0" : "") + min;
- var sec = data.getSeconds();
- sec = (sec < 10 ? "0" : "") + sec;
- var macAdr = req.body['mac-esc'] + '';
- while (macAdr.includes('%3A')) {
- macAdr = macAdr.replace('%3A', ':');
- }
- console.log("-> Data ->" + day + "/" + month + "/" + year + " - " + hour + ":" + min + ":" + sec);
- console.log("-> Mac ->" + macAdr);
- console.log("-> S.O ->" + req.headers['user-agent']);
- var sessIni = req.session;
- console.log('-> Dados de Sessão Disponíveis -> ', [sessIni]);
- //console.log('Cookies de Disponiveis -> ', [req.cookies]);
- var cookies = [];
- var cookieServer = req.cookies['connect.sid'];
- var cookieTriibo = req.cookies['triibo-francap-cookieV2'];
- var urlEstab;
- //Percorre os cookies recuperados
- if (cookieTriibo) {
- cookieTriibo.forEach(
- function(cookiestr) {
- cookies.push(cookie.parse(cookiestr));
- }
- );
- } else {
- cookies = ''; //cookie vazio
- }
- //TODO: Remover
- //if(false){ //Para testar localmente
- if (cookies[0]) {
- console.log("----- Login: Com Cookie");
- var rede = req.rede;
- //console.log("Rede ->" + rede);
- if (req.body && req.body['chap-id'] && req.body['chap-challenge']) {
- var sess = req.session;
- var msg1 = (cookies[5].usuario ? 'Olá ' + cookies[5].usuario + ', você já está cadastrado no Wifi Triibo!' : 'Olá, você já está cadastrado no Wifi Triibo!')
- sess.nav = {
- msg1: msg1,
- msg2: 'Você também pode baixar o app de nosso parceiro Triibo para facilitar seu acesso!',
- }
- if (!req.body || !req.body['chap-id'] || !req.body['chap-challenge']) {
- res.send('A rede não está cadastrada corretamente!');
- console.log("Erro -> Rede não encontrada verifique o cadastro em Networks-Estabelecimentos!!!" + rede);
- } else {
- sess.title = cookies[4].title;
- sess.chapip = req.body['chap-id'];
- sess.cchanlange = req.body['chap-challenge'];
- sess.macAdr = req.body['mac-esc']; //isso esta errado
- sess.os = cookies[8].os;
- if (cookies[10])
- //sess.urlEstab = cookies[10].urlEstab;
- sess.listaFotos = cookie[10].listaFotos;
- else
- sess.urlEstab = URL_ESTAB;
- console.log("URL ESTABELECIMENTO --->" + sess.urlEstab);
- //console.log("S.O ->" + cookies[8].os);
- cid = bytesToChars(octToDecBytes(sess.chapip.substr(1).split('\\'))).join('');
- cchanlange = bytesToChars(octToDecBytes(sess.cchanlange.substr(1).split('\\'))).join('');
- //sess.site = cookies.site
- var inputs = {
- link: cookies[0].link,
- dst: cookies[1].dst,
- user: cookies[2].user,
- ROUTERPATH: ROUTERPATH,
- os: cookies[8].os,
- password: md5.hexMD5(cid + cookies[3].password + cchanlange),
- USER_LOGIN: USER_LOGIN,
- USER_NOME: USER_NOME,
- ERROR_CODE: ERROR_CODE,
- marca: cookies[12].marca // antes cookie 11
- };
- //console.log("Dados do Cookie ->", cookies[7].rede);
- useragent = req.headers['user-agent'];
- plataforma = useragent;
- //console.log("User-Agent ->" + plataforma);
- saveHistoricoRelogin(cookies[6].email, rede, cookies[9].macAdr).then(function() {
- //console.log('-> HistoricoWifi gravado no Firebase!!!');
- }).catch(function(error) {
- console.log(error);
- });
- res.render('request', inputs); //Envia o post
- }
- }
- } else {
- console.log("-----------> Login Primeira Vez: Sem Cookie");
- var rede = req.rede;
- console.log("Tentativa de Login na Rede ->" + rede);
- USER_LOGIN = '';
- USER_NOME = '';
- ERROR_CODE = 0;
- // db.ref('Networks-Hotspots').child(rede).once('value', function(snapshot) {
- db.ref('Wifi-Promotions').child(rede).once('value', function(snapshot) {
- var valmkt = snapshot.val();
- if (valmkt) {
- var listaFotos = valmkt.photos.split("|");
- var titPromo = valmkt.title;
- //determinadndo qual pagina mostrar
- // rand = function(min, max) {
- // return Math.floor(Math.random() * (max - min + 1)) + min;
- // }
- // if (rand(1, 2) == 1) {
- // console.log("Url de marketing 1");
- // urlEstab = valmkt.urlMkt;
- // } else {
- // console.log("Url de marketing 2");
- // urlEstab = valmkt.urlMkt2;
- // }
- // console.log("URL-MKT: -----> " + urlEstab);
- } else {
- //var urlEstab = URL_ESTAB;
- res.send("ERRO: NAO LEU FIREBASE!");
- }
- });
- db.ref('Networks-Estabelecimentos').child(rede).once('value', function(snapnet) {
- var v = snapnet.val();
- //RODA SERVER
- if (!v || !req.body || !req.body['chap-id'] || !req.body['chap-challenge']) {
- //TODo: Remover
- //RODA LOCAL
- //if (!v) {
- //res.send('A rede não está cadastrada corretamente!');
- console.log("Erro -> Rede não encontrada verifique o cadastro em Networks-Estabelecimentos!!!" + rede);
- } else {
- var macAdr = req.body['mac-esc'] + '';
- while (macAdr.includes('%3A')) {
- macAdr = macAdr.replace('%3A', ':');
- }
- console.log("Owner -> " + v.owner);
- console.log("Estabelecimento -> " + v.estabelecimento);
- //console.log("Chap-id -> " + req.body['chap-id']);
- //console.log("Chap-challenge -> " + req.body['chap-challenge']);
- console.log("MAC-ADR -> " + macAdr);
- db.ref('Estabelecimento-v2').child(v.estabelecimento).once('value', function(snap) {
- val = snap.val();
- var sess = req.session;
- sess.title = val.nome;
- sess.site = val.site;
- sess.rede = rede;
- sess.macAdr = macAdr;
- req.session.marca = val.marca;
- var marca = val.marca;
- console.log("REDE ->" + sess.rede);
- console.log("MACADR-DEVICE ->" + macAdr);
- console.log("Marca", marca);
- //ToDo: Remover
- //RODA Server
- sess.chapip = req.body['chap-id'];
- sess.cchanlange = req.body['chap-challenge'];
- //sess.urlEstab = req.body['url-estab'];
- // sess.urlEstab = urlEstab;
- sess.listaFotos = listaFotos;
- sess.titPromo = titPromo;
- sess.marca = marca;
- //console.log("URL ESTABELECIMENTO--->" + sess.urlEstab);
- //RODA Local
- /* sess.chapip = "";
- sess.cchanlange = "";*/
- var body = {
- user: '',
- nome: ''
- }
- var loginData = {
- title: val.nome,
- idfacebook: FACEBOOK_ID,
- url: DOMAIN + ROUTERPATH,
- googlelogin: urlGoogleLogin,
- error: '',
- signInWithEmail: false,
- cadastrar: false,
- ROUTERPATH: ROUTERPATH,
- body: body,
- //urlEstab: urlEstab,
- listaFotos: listaFotos,
- titPromo: titPromo.],
- link: 'wifilogin',
- msg1: '',
- msg2: '',
- marca: marca,
- FIREBASE_APIKEY: FIREBASE_APIKEY,
- FIREBASE_AUTHDOMAIN: FIREBASE_AUTHDOMAIN,
- FIREBASE_DATABASEURL: FIREBASE_DATABASEURL,
- FIREBASE_PROJECTID: FIREBASE_PROJECTID,
- FIREBASE_STORAGEBUCKET: FIREBASE_STORAGEBUCKET,
- FIREBASE_MESSAGINGSENDERID: FIREBASE_MESSAGINGSENDERID,
- USER_LOGIN: USER_LOGIN,
- USER_NOME: USER_NOME,
- ERROR_CODE: ERROR_CODE
- }
- useragent = req.headers['user-agent']; plataforma = useragent; console.log("User-Agent ->" + plataforma);
- console.log("NOME --> " + val.nome);
- getOs(useragent).then(function(os) {
- loginData.os = os;
- sess.os = os;
- console.log("Dados Login-->" + JSON.stringify(loginData));
- getPageToRender(sess.marca, "pagstore").then(function(page) {
- console.log("Pagina pagstore: " + page)
- res.render(page, loginData);
- }).catch(function(error) {
- console.log(error);
- res.send("Erro na marca");
- });
- });
- });
- }
- });
- }
- });
- var getPageToRender = function(marca, page) {
- return new Promise(function(resolve, reject) {
- if (marca === "CafeDoPonto") {
- console.log("Dentro de café do ponto");
- pageToRender = "CafeDoPonto/" + page;
- resolve(pageToRender);
- } else if (marca === "CafePilao") {
- console.log("Dentro de café pilão");
- pageToRender = "CafePilao/" + page;
- resolve(pageToRender);
- } else {
- console.log("Marca " + marca)
- reject("Marca nao encontrada");
- }
- })
- }
- var getOs = function(useragent) {
- return new Promise(function(resolve, reject) {
- if (useragent.search("Android") > 0) {
- resolve('android');
- } else if (useragent.search("iPhone") > 0) {
- if (useragent.search("Safari") > 0) {
- resolve('ios');
- } else {
- resolve('ios-captive');
- }
- } else if (useragent.search("iPad") > 0) {
- if (useragent.search("Safari") > 0) {
- resolve('ios');
- } else {
- resolve('ios-captive');
- }
- } else {
- resolve(null);
- }
- })
- }
- //Avaliar essa funçao é usada somemte para apresentar pesquisa de satisfação
- app.all('/pesquisa/:form/:resp/:link', function(req, res) {
- console.log("----- /pesquisa/:form/:resp/:link");
- var cookies = cookie.parse(req.headers.cookie || '');
- if (req.params.form == '1') {
- console.log('Qualidade do Atendimento: ', req.params.resp);
- } else if (req.params.form == '2') {
- console.log('Limpeza da Loja: ', req.params.resp);
- } else if (req.params.form == '3') {
- console.log('Disponibilidade de Produtos: ', req.params.resp);
- }
- var link = req.params.link.replace(/(_B-)/gi, '/');
- res.redirect(link)
- });
- //Usando apenas em caso de adverstiment
- app.all('/adv', function(req, res) {
- console.log("----- /adv");
- var cookies = cookie.parse(req.headers.cookie || '');
- if (cookies.site) {
- res.redirect(cookies.site)
- } else {
- console.log('erro no cookie.');
- }
- });
- var saveHistorico = function(email, rede, macAdr) {
- return new Promise(function(resolve, reject) {
- var obj = {};
- console.log("----- HistoricoWIifi");
- obj.BSSID = macAdr;
- obj.aparelho = plataforma;
- obj.dataEvento = Number(moment().format('x'));
- obj.tipoEvento = TIPO_CONEXAO;
- obj.networkKey = rede;
- obj.plataforma = TIPO_PLATAFORMA
- obj.tipoWifi = TIPO_WIFI;
- obj.versaoTriibo = VERSAO_TRIIBO;
- console.log("-> HistóricoWifi para: ", email);
- console.log("-> Dados: ", [obj]);
- db.ref('Networks').child(rede).once('value', function(snap1) {
- var val1 = snap1.val();
- //console.log("Dados da rede Networks -> ", [val1.name]);
- if (val1) {
- obj.SSID = val1.name;
- db.ref('Geolocation').child(rede).once('value', function(snap2) {
- var val2 = snap2.val();
- //console.log("Dados de Geolocation -> ", [val2]);
- if (val2) {
- obj.latitude = val2.l[0];
- obj.longitude = val2.l[1];
- db.ref('HistoricoWifi').child(email.replace(/\./g, ',')).push(obj).then(function() {
- resolve();
- console.log("--------------- HistoricoWIifi: ENTROU NO RESOLVE E GRAVOU FIREBASE");
- }).catch(function(error) {
- reject(error);
- });
- } else {
- reject({ code: 'geo/notfound', message: 'Geolocation não encontrado' })
- }
- });
- } else {
- reject({ code: 'network/notfound', message: 'Network não encontrado' })
- }
- }).catch(function(error) {
- console.log("--------------- Erro de acesso ao Firebase!!!!");
- reject(error);
- });
- });
- }
- var saveHistoricoRelogin = function(email, rede, macAdr) {
- return new Promise(function(resolve, reject) {
- var obj = {};
- console.log("----- HistoricoWifi: Login com Cookie");
- obj.BSSID = macAdr;
- obj.aparelho = plataforma;
- obj.dataEvento = Number(moment().format('x'));
- obj.tipoEvento = TIPO_CONEXAO;
- obj.networkKey = rede;
- obj.plataforma = TIPO_PLATAFORMA;
- obj.tipoWifi = TIPO_WIFI;
- obj.versaoTriibo = VERSAO_TRIIBO;
- console.log("-> HistóricoWifi para: ", email);
- console.log("-> Dados: ", [obj]);
- //Para pegar o primeiro separado do nome da rede ':'
- var index1 = 0;
- for (var i = 0, len = rede.toString().length; i < len; i++) {
- if (rede.toString()[i] == ':') {
- index1 = i;
- break;
- }
- }
- //obj.SSID = rede.toString().substr(index1,rede.toString().length);
- obj.SSID = rede.toString().substr(0, index1);
- //console.log("Rede ", obj.SSID);
- var latLong = rede.toString().substr(index1 + 1, rede.toString().length);
- //console.log("LatLong ", latLong);
- var arrayLatLong = latLong.split(':');
- //console.log("Lat ", arrayLatLong[0]);
- //console.log("Long ", arrayLatLong[1]);
- obj.latitude = arrayLatLong[0]; //ex: -23,605
- obj.longitude = arrayLatLong[1]; //ex: -46,644
- db.ref('HistoricoWifi').child(email.replace(/\./g, ',')).push(obj).then(function() {
- resolve();
- console.log("--------------- HistoricoWIifi - COOKIE : ENTROU NO RESOLVE E GRAVOU FIREBASE");
- }).catch(function(error) {
- reject(error);
- });
- });
- }
- var getUserCPF = function(email) {
- return new Promise(function(resolve, reject) {
- db.ref('Users-Dados').child(email.replace(/\./g, ',')).once('value', function(snapshot) {
- var dados = snapshot.val();
- if (dados && dados.cpf) {
- console.log("-> CPF: " + dados);
- resolve(dados.cpf);
- } else {
- //Marca CPF FAKE (caso seja necessário voltar)
- var cpf = '';
- cpf = '00000000000';
- console.log("-> CPF: " + cpf);
- resolve(cpf);
- }
- })
- })
- }
- var successLogin = function(data, req, res) {
- var sess = req.session;
- console.log('----- Login: Sucesso!');
- getUserCPF(data.email.toLowerCase()).then(function(cryptCpf) {
- var cpf = myEncrypt.decrypt(cryptCpf);
- var cid = sess.chapip;
- var cchanlange = sess.cchanlange;
- //console.log('--------------- CPF: '+ cpf);
- if (cid && cchanlange) {
- cid = bytesToChars(octToDecBytes(cid.substr(1).split('\\'))).join('');
- cchanlange = bytesToChars(octToDecBytes(cchanlange.substr(1).split('\\'))).join('');
- //console.log("E-mail -> " + data.email.toLowerCase());
- saveHistorico(data.email.toLowerCase(), sess.rede, sess.macAdr).then(function() {
- console.log('----- Login: Fim!');
- }).catch(function(error) {
- console.log(error);
- });
- db.ref('Networks-Hotspots').child(sess.rede).once('value', function(snap) {
- var val = snap.val();
- if (val) {
- var splitedKey = snap.key.split(':')
- var nomeRede = splitedKey[0];
- //console.log("Dados de Networks-HotSpots ->", [val]);
- //console.log("Data ->", [data]);
- if (data.type == 0) {
- sess.nav = {
- msg1: 'Agora você faz parte da comunidade triibo!',
- msg2: 'Baixe o app e aproveite seus beneficios'
- }
- } else if (data.type == 1) {
- var msg1 = (data.username ? 'Olá ' + data.username + ', você já faz parte da nossa comunidade!' : 'Olá, você já faz parte da nossa comunidade!');
- sess.nav = {
- msg1: msg1,
- msg2: 'Caso ainda não tenha baixado nosso app, acesse as stores',
- }
- }
- //sess.site= "http://apexoraidp.ultra.corp/ords/f?p=WIFI:1:0::NO::P0_CPF_CNPJ:"+cpf;
- var inputs = {
- link: val.urlonly,
- dst: DOMAIN + ROUTERPATH + '/finishlogin',
- user: val.username,
- ROUTERPATH: ROUTERPATH,
- password: md5.hexMD5(cid + val.password + cchanlange),
- USER_LOGIN: USER_LOGIN,
- USER_NOME: USER_NOME,
- ERROR_CODE: 0
- };
- var cookies = [];
- //console.log('--------------- Gravando Cookie: Início');
- cookies.push(cookie.serialize('link', val.urlonly));
- cookies.push(cookie.serialize('dst', DOMAIN + ROUTERPATH + '/pagstore'));
- //cookies.push(cookie.serialize('dst', DOMAIN + ROUTERPATH + '/finishlogin'));
- cookies.push(cookie.serialize('user', val.username));
- cookies.push(cookie.serialize('password', val.password));
- cookies.push(cookie.serialize('title', sess.title));
- //cookies.push(cookie.serialize('site', sess.site));
- cookies.push(cookie.serialize('usuario', data.username));
- cookies.push(cookie.serialize('email', data.email));
- cookies.push(cookie.serialize('rede', sess.rede));
- cookies.push(cookie.serialize('os', sess.os));
- cookies.push(cookie.serialize('macAdr', sess.macAdr));
- // cookies.push(cookie.serialize('urlEstab', sess.urlEstab));
- cookies.push(cookie.serialize('listaFotos', sess.listaFotos));
- cookies.push(cookie.serialize('titPromo', sess.titPromo));
- cookies.push(cookie.serialize('marca', sess.marca));
- console.log('-> Dados Gravados no Cookie :', [cookies]);
- //res.cookie('triibo-wifi-cookie', cookies, { expires: new Date(Date.now() + 900000), httpOnly: true, secure: true });
- res.cookie('triibo-francap-cookieV2', cookies);
- //res.setHeader('Set-Cookie', cookies);
- //console.log("Dados de Session Atualizados->", [sess]);
- //console.log('Novos Cookies Encontrados -> ', req.cookies);
- //console.log('--------------- Gravando Cookie: Fim');
- //console.log('--------------- Mandando Render request', [inputs]);
- res.render('request', inputs); //aqui ele envia a URL de Auth para request e faz o redirect
- } else {
- res.send("error");
- }
- }).catch(function(error) {
- res.send(JSON.stringify(error));
- });
- } else {
- var error = {
- message: "Erro inesperado. Verifique o sinal de Wi-Fi."
- }
- res.send(JSON.stringify(error));
- }
- }).catch(function() {
- console.log("Login -> Sem cpf");
- var inputs = {
- nome: data.nome,
- user: data.email.toLowerCase(),
- ROUTERPATH: ROUTERPATH,
- USER_LOGIN: USER_LOGIN,
- USER_NOME: USER_NOME,
- ERROR_CODE: ERROR_CODE
- };
- res.render('cadastracpf', inputs);
- })
- }
- var errorLogin = function(err, req, res) {
- console.log(err);
- var msg = "";
- var cadastrar = false;
- var errorCode = 0;
- if (!err) {
- msg = "Erro Inesperado!";
- errorCode = 1;
- } else if (err.code == "auth/email-already-in-use") {
- msg = "Verifique o usuário e a senha informados";
- errorCode = 2;
- } else if (err.code == "auth/invalid-email") {
- msg = "O email digitado está em formato inválido";
- errorCode = 3;
- } else if (err.code == "auth/weak-password") {
- msg = "Senha deve ter no mínimo 6 digitos";
- errorCode = 4;
- } else if (err.code == 'auth/user-not-found') {
- var cadastrar = true;
- msg = "Estamos criando seu usuário";
- errorCode = 5;
- } else if (err.code == "auth/wrong-password") {
- msg = "Senha incorreta para esse usuário!";
- errorCode = 6;
- } else if (err.code == "auth/account-exists-with-different-credential") {
- if (err.provider == "facebook") {
- msg = "Vimos que voce possui uma conta google, por favor logue com ela";
- } else if (err.provider == "google") {
- msg = "Vimos que voce possui uma conta facebook, por favor logue com ela";
- }
- errorCode = 8;
- } else {
- msg = err.msg;
- errorCode = 9;
- }
- var sess = req.session;
- var nome = sess.title;
- var marca = sess.marca;
- console.log("FUNCT ERROR LOGIN - PAGSTORE NOME ---> " + nome);
- getPageToRender(marca, "wifilogin").then(function(page) {
- var link = page;
- }).catch(function(error) {
- console.log(error);
- res.send("Erro na marca");
- });
- res.render(link, {
- title: nome,
- idfacebook: FACEBOOK_ID,
- url: DOMAIN + ROUTERPATH,
- googlelogin: urlGoogleLogin,
- error: msg,
- signInWithEmail: err.signInWithEmail,
- ROUTERPATH: ROUTERPATH,
- cadastrar: cadastrar,
- body: sess.body,
- os: sess.os,
- FIREBASE_APIKEY: FIREBASE_APIKEY,
- FIREBASE_AUTHDOMAIN: FIREBASE_AUTHDOMAIN,
- FIREBASE_DATABASEURL: FIREBASE_DATABASEURL,
- FIREBASE_PROJECTID: FIREBASE_PROJECTID,
- FIREBASE_STORAGEBUCKET: FIREBASE_STORAGEBUCKET,
- FIREBASE_MESSAGINGSENDERID: FIREBASE_MESSAGINGSENDERID,
- USER_LOGIN: USER_LOGIN,
- USER_NOME: USER_NOME,
- ERROR_CODE: errorCode
- });
- }
- var myEncrypt = {
- pass: CryptoJS.enc.Utf8.parse("06C0595D782A4F9B6E9757F2997B70BF"),
- iv: CryptoJS.enc.Hex.parse("0000000000000000"),
- encrypt: function(msg) {
- var options = { mode: CryptoJS.mode.CBC, iv: this.iv };
- var json = CryptoJS.AES.encrypt(msg, this.pass, options);
- return json.ciphertext.toString(CryptoJS.enc.Base64);
- },
- decrypt: function(msg) {
- var options = { mode: CryptoJS.mode.CBC, iv: this.iv };
- var json = CryptoJS.AES.decrypt({ ciphertext: CryptoJS.enc.Base64.parse(msg) }, this.pass,
- options
- );
- return json.toString(CryptoJS.enc.Utf8);
- }
- }
- app.all('/termosdeuso', function(req, res) {
- inputs = { ROUTERPATH: ROUTERPATH };
- res.render('termos_de_uso', inputs);
- })
- app.post('/cadastracpf', function(req, res) {
- console.log("----- /cadastracpf");
- USER_LOGIN = req.body.user.toLowerCase();
- USER_NOME = req.body.nome;
- ERROR_CODE = ERROR_CODE;
- var data = {
- type: 0,
- username: req.body.nome,
- email: req.body.user.toLowerCase()
- }
- var cpf = req.body.cpf.toString();
- cpf = cpf.replace(/[.-]/g, '');
- var cryptCpf = myEncrypt.encrypt(cpf);
- var updates = {};
- updates['/' + data.email.replace(/\./g, ',').toLowerCase() + '/cpf/'] = cryptCpf;
- db.ref('Users-Dados').update(updates).then(function() {
- console.log('cpf cadastrado');
- successLogin(data, req, res);
- }).catch(function(err) {
- console.log('cpf NAO cadastrou!');
- console.log(err);
- })
- })
- app.post('/dologin', function(req, res) {
- console.log("----- /dologin");
- console.log("----- /dologin nome: " + req.body.nome);
- USER_LOGIN = req.body.user.toLowerCase();
- USER_NOME = req.body.nome;
- ERROR_CODE = ERROR_CODE;
- var auth = maillogin(
- req.body.nome,
- req.body.user.toLowerCase(),
- req.body.password,
- USER_LOGIN,
- USER_NOME,
- ERROR_CODE
- );
- auth.then(function(data) {
- successLogin(data, req, res);
- }).catch(function(err) {
- var sess = req.session;
- sess.body = req.body;
- err.signInWithEmail = true;
- errorLogin(err, req, res);
- });
- })
- app.post('/resetSenha', function(req, res) {
- console.log("----- /Reset Senha");
- console.log("Email:" + req.body.email);
- var email = req.body.email;
- firebase.auth().sendPasswordResetEmail(email);
- })
- app.post('/dologinPhone', function(req, res) {
- console.log("----- /dologinPhone");
- var codeSMS = req.body.codeSMS;
- var nome = req.body.nomeCel;
- var celular = req.body.celular;
- console.log("----- codeSMS", codeSMS);
- console.log("----- nome", nome);
- console.log("----- celular", celular);
- // 'recaptcha-container' is the ID of an element in the DOM.
- var applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
- var provider = new firebase.auth.PhoneAuthProvider();
- provider.verifyPhoneNumber('+55' + celular, applicationVerifier)
- .then(function(verificationId) {
- var verificationCode = res.window.prompt('Please enter the verification ' +
- 'code that was sent to your mobile device.');
- return firebase.auth.PhoneAuthProvider.credential(verificationId,
- verificationCode);
- })
- .then(function(phoneCredential) {
- return firebase.auth().signInWithCredential(phoneCredential);
- });
- // var auth = maillogin(
- // req.body.nome,
- // req.body.celular
- // );
- //
- //
- //
- // auth.then(function (data) {
- // successLogin(data, req, res);
- // }).catch(function (err) {
- // var sess = req.session;
- // sess.body = req.body;
- // err.signInWithEmail = true;
- // errorLogin(err, req, res);
- // });
- })
- app.post('/cadastrar', function(req, res) {
- console.log("----- /cadastrar");
- var sess = req.session;
- USER_LOGIN = sess.body.user.toLowerCase();
- USER_NOME = sess.body.nome;
- ERROR_CODE = ERROR_CODE;
- var auth = mailcadastro(
- sess.body.nome,
- sess.body.user.toLowerCase(),
- sess.body.password
- );
- console.log("-> Dados do Cadastro: " + JSON.stringify(auth));
- auth.then(function(data) {
- successLogin(data, req, res);
- }).catch(function(err) {
- var sess = req.session;
- sess.body = req.body;
- err.signInWithEmail = true;
- errorLogin(err, req, res);
- });
- })
- app.all('/facebooklogin', function(req, res) {
- console.log("----- /facebooklogin");
- var restclient = new Client();
- var code = req.param('code');
- restclient.get(FB_API +
- "client_id=" + FACEBOOK_ID +
- "&redirect_uri=" + DOMAIN + ROUTERPATH + "/facebooklogin" +
- "&client_secret=" + FACEBOOK_SECRET +
- "&code=" + code,
- function(data, response) {
- sociallogin.facebooklogin(data.access_token).then(function(data) {
- successLogin(data, req, res);
- }).catch(function(error) {
- error.signInWithEmail = false;
- error.provider = "facebook"
- errorLogin(error, req, res);
- });
- })
- });
- app.all('/googlelogin', function(req, res) {
- console.log("----- /googlelogin");
- var code = req.param('code');
- oauth2Client.getToken(code, function(err, tokens) {
- sociallogin.googlelogin(tokens.access_token).then(function(data) {
- successLogin(data, req, res);
- }).catch(function(error) {
- error.signInWithEmail = false;
- error.provider = "google"
- errorLogin(error, req, res);
- });
- });
- });
- app.all('/finishlogin', function(req, res) {
- console.log("----- /finishlogin");
- //comente abaixo para finishlogin - wifinav na maquina
- var sess = req.session;
- //console.log("--------- > Password", req.body.password);
- var inputs;
- //significa que o usuário deu back no botão
- if (req.body.dst == null) {
- inputs = {
- dst: sess.inputs.dst,
- user: sess.inputs.user,
- ROUTERPATH: sess.inputs.ROUTERPATH,
- password: sess.inputs.password,
- //password: password,
- link: sess.inputs.link
- };
- } else {
- inputs = {
- dst: req.body.dst,
- user: req.body.username,
- ROUTERPATH: ROUTERPATH,
- password: req.body.password,
- //password: password,
- link: req.body.link
- };
- }
- //Salva na sessão os dados para o caso de usuário utilizar o backbutton
- sess.inputs = inputs;
- marca = sess.marca;
- console.log("-> Dados de Login Finislogin: ", [inputs]);
- var loginData = {
- title: sess.title,
- msg1: sess.nav.msg1,
- msg2: sess.nav.msg2,
- marca: marca,
- os: sess.os,
- ROUTERPATH: ROUTERPATH,
- dst: inputs.dst,
- user: inputs.user,
- password: inputs.password,
- link: inputs.link,
- //urlEstab: sess.urlEstab
- };
- getPageToRender(marca, "wifinav").then(function(page) {
- console.log("Pagina wifinav: " + page);
- urlToRender = page;
- console.log("Url to render " + urlToRender);
- console.log("login data ", loginData);
- res.render(urlToRender, loginData);
- }).catch(function(error) {
- console.log(error);
- res.send("Erro na marca");
- });
- // libere para finishlogin - wifinav na maquina
- /*var sess = req.session;
- res.render('wifinav', {
- title: 'Chiquito',
- msg1: 'Agora você faz parte da comunidade triibo!',
- msg2: 'Baixe o app e aproveite seus beneficios',
- link: 'www.triibo.com.br',
- os: sess.os,
- ROUTERPATH: ROUTERPATH,
- user: '',
- password: '',
- link: '',
- urlEstab: URL_ESTAB
- });*/
- });
- app.all("/pagstore", function(req, res) {
- console.log("----- /pagstore com cookie");
- var sess = req.session;
- console.log("session ", [sess]);
- var inputs;
- //significa que o usuário deu back no botão
- if (req.body.dst == null) {
- inputs = {
- dst: sess.inputs.dst,
- user: sess.inputs.user,
- ROUTERPATH: sess.inputs.ROUTERPATH,
- password: sess.inputs.password,
- //password: password,
- link: sess.inputs.link,
- };
- } else {
- inputs = {
- dst: req.body.dst,
- user: req.body.username,
- ROUTERPATH: ROUTERPATH,
- password: req.body.password,
- //password: password,
- link: req.body.link,
- };
- }
- //Salva na sessão os dados para o caso de usuário utilizar o backbutton
- sess.inputs = inputs;
- console.log("-> Dados de Login PagStore: ", [inputs]);
- if (!req.body.nome) {
- var body = {
- nome: '',
- user: ''
- }
- } else {
- var body = {
- nome: req.body.nome,
- user: req.body.user.toLowerCase()
- }
- }
- var msg1 = 'Ocorreu um erro, por favor tente mais tarde!'
- var msg2 = 'Desculpe-nos o transtorno!'
- if (sess.nav) {
- msg1 = sess.nav.msg1
- msg2 = sess.nav.msg2
- }
- var marca = sess.marca;
- var errorCode = 0;
- var loginData = {
- title: sess.title,
- msg1: msg1,
- msg2: msg2,
- os: sess.os,
- ROUTERPATH: ROUTERPATH,
- dst: inputs.dst,
- user: inputs.user,
- password: inputs.password,
- link: inputs.link,
- //urlEstab: sess.urlEstab,
- listaFotos: listaFotos,
- titPromo: titPromo,
- body: body,
- marca: marca,
- error: req.body.error,
- link: 'finishlogin',
- idfacebook: FACEBOOK_ID,
- url: DOMAIN + ROUTERPATH,
- googlelogin: urlGoogleLogin,
- cadastrar: req.body.cadastrar,
- signInWithEmail: req.body.signInWithEmail,
- FIREBASE_APIKEY: FIREBASE_APIKEY,
- FIREBASE_AUTHDOMAIN: FIREBASE_AUTHDOMAIN,
- FIREBASE_DATABASEURL: FIREBASE_DATABASEURL,
- FIREBASE_PROJECTID: FIREBASE_PROJECTID,
- FIREBASE_STORAGEBUCKET: FIREBASE_STORAGEBUCKET,
- FIREBASE_MESSAGINGSENDERID: FIREBASE_MESSAGINGSENDERID,
- USER_LOGIN: USER_LOGIN,
- USER_NOME: USER_NOME,
- ERROR_CODE: errorCode
- }
- getPageToRender(marca, "pagstore").then(function(page) {
- console.log("Pagina pagstore: " + page)
- res.render(page, loginData);
- }).catch(function(error) {
- console.log(error);
- res.send("Erro na marca");
- });
- //libere para rodar maquina
- /*res.render("pagstore",{
- title: 'Chiquito',
- msg1: 'Agora você faz parte da comunidade triibo!',
- msg2: 'Baixe o app e aproveite seus beneficios',
- link: 'www.triibo.com.br',
- os: 'android',
- ROUTERPATH:ROUTERPATH,
- nome:'',
- user:'',
- password: '',
- link: '',
- urlEstab: URL_ESTAB
- });*/
- });
- app.all("/wifilogin", function(req, res) {
- console.log("----- /wifilogin");
- var sess = req.session;
- var inputs;
- console.log("sessão " + [sess]);
- //Precisa olhar esse caso com mais detalhe
- if (req.body.dst != null) {
- inputs = {
- dst: sess.inputs.dst,
- user: sess.inputs.user,
- ROUTERPATH: sess.inputs.ROUTERPATH,
- password: sess.inputs.password,
- //password: password,
- link: sess.inputs.link
- };
- } else {
- inputs = {
- dst: req.body.dst,
- user: req.body.username,
- ROUTERPATH: ROUTERPATH,
- password: req.body.password,
- //password: password,
- link: req.body.link
- };
- }
- //Salva na sessão os dados para o caso de usuário utilizar o backbutton
- sess.inputs = inputs;
- console.log("-> Dados de Login Wifilogin: ", [inputs]);
- console.log("-> Nome", [req.body.nome]);
- console.log("-> User", [req.body.user]);
- if (!req.body.nome) {
- var body = {
- nome: '',
- user: ''
- }
- } else {
- var body = {
- nome: req.body.nome,
- user: req.body.user.toLowerCase()
- }
- }
- marca = sess.marca;
- var errorCode = 0;
- var loginData = {
- title: sess.title,
- msg1: req.body.msg1,
- msg2: req.body.msg2,
- os: sess.os,
- ROUTERPATH: ROUTERPATH,
- dst: req.body.dst,
- password: req.body.password,
- link: req.body.link,
- //urlEstab: sess.urlEstab,
- body: body,
- idfacebook: FACEBOOK_ID,
- error: req.body.error,
- signInWithEmail: req.body.signInWithEmail,
- cadastrar: req.body.cadastrar,
- url: DOMAIN + ROUTERPATH,
- marca: marca,
- googlelogin: urlGoogleLogin,
- FIREBASE_APIKEY: FIREBASE_APIKEY,
- FIREBASE_AUTHDOMAIN: FIREBASE_AUTHDOMAIN,
- FIREBASE_DATABASEURL: FIREBASE_DATABASEURL,
- FIREBASE_PROJECTID: FIREBASE_PROJECTID,
- FIREBASE_STORAGEBUCKET: FIREBASE_STORAGEBUCKET,
- FIREBASE_MESSAGINGSENDERID: FIREBASE_MESSAGINGSENDERID,
- USER_LOGIN: USER_LOGIN,
- USER_NOME: USER_NOME,
- ERROR_CODE: errorCode
- }
- getPageToRender(marca, "wifilogin").then(function(page) {
- console.log("Pagina wifilogin: " + page);
- urlToRender = page;
- console.log("Url to render " + urlToRender);
- res.render(urlToRender, loginData);
- }).catch(function(error) {
- console.log(error);
- res.send("Erro na marca");
- });
- // console.log("----- /nome:"+body.nome);
- //
- // //libere para rodar maquina
- // res.render("wifilogin",{
- // title: 'Chiquito',
- // link: 'www.triibo.com.br',
- // os: sess.os,
- // ROUTERPATH: ROUTERPATH,
- // body:body,
- // password: '',
- // dst: '',
- // urlEstab: URL_ESTAB,
- // idfacebook: req.body.idfacebook,
- // error: req.body.error,
- // signInWithEmail: req.body.signInWithEmail,
- // cadastrar: req.body.cadastrar,
- // googlelogin: req.body.googleurl,
- // url: req.body.myurl
- //
- //
- // });
- });
- app.listen(WEBPORT, function() {
- console.log('Wifi-Triibo ' + PROJECT_NAME + ' Porta:' + WEBPORT);
- });
- function charsToBytes(chars) {
- return chars.map(function(char) {
- return char.charCodeAt(0);
- });
- }
- function bytesToChars(bytes) {
- return bytes.map(function(byte) {
- return String.fromCharCode(parseInt(byte, 10));
- });
- }
- function decToOctBytes(decBytes) {
- return decBytes.map(function(dec) {
- return ('000' + dec.toString(8)).substr(-3);
- });
- }
- function octToDecBytes(octBytes) {
- return octBytes.map(function(oct) {
- return parseInt(oct, 8);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement