require('http').createServer(function(req, res) { console.log(req.headers); if( req.headers.host != undefined && req.headers.host in routeTable) { var cookies = new Cookies(req, res); var address = routeTable[req.headers.host].shift(); if(stickSession) { console.log("using sticky session"); if(cookies.get(req.headers.host) != undefined) { address = cookies.get(req.headers.host); } else { if(sessionExpiration == -1) { cookies.set(req.headers.host, address); console.log("no expiration on sticky session"); } else { var expiration = new Date(Date.now() + sessionExpiration * 1000); console.log("sticky session will expire in " + sessionExpiration + " seconds"); cookies.set(req.headers.host, address, {expires:expiration}); } } } console.log(address); proxy.web(req, res, { target: address }, function (e) {console.log(e);}); routeTable[req.headers.host].push(address); console.log(routeTable); } else //Error handling proxy.web(req,res, {target: req.headers.host}); }).listen(8000);
exports.responseWithAdminCookie = function (req, res, token, id, code, message){ var cookies = new Cookies( req, res, {} ); cookies.set("eksibition-admin-access-token", token, {domain: "elvinjin.com", secure: true}); cookies.set("eksibition-admin-id", id, {domain: "elvinjin.com", secure: true}); res.writeHead(code,{'Content-Type': 'application/json'}); res.end(JSON.stringify(message)); }
userdb.get(userId, function(err, result) { if(err) { // Unknown user isNewUser = true; userId = uuid(); result = { "_id": userId, "name": cookies.get("user-name"), created: new Date() }; userdb.save(result, function(err, result) { if(err) { return console.error(err); } }); } if(!users[userId]) { users[userId] = {}; } users[userId].id = userId; users[userId].name = result.name; users[userId].icon = result.icon || "blue"; users[userId].rank = result.rank || 0; users[userId]["lessons-seen"] = result["lessons-seen"] || {}; cookies.set("user-id", userId, { expires: new Date(2050, 11, 31) }); cookies.set("user-name", result.name, { expires: new Date(2050, 11, 31) }); bind.toFile( "./templates/index.html", { "user-id": userId, "total-score": TOTAL_SCORE, "user-name": result.name, "user-icon": result.icon || "blue", "logged-in?": !!result.email, "is-new-user?": isNewUser, "lessons-seen": JSON.stringify(users[userId]["lessons-seen"]), "email-for-notifications?": !!result["email-notification"] + "" }, function(data) { res.setHeader("Cache-Control", "no-cache, must-revalidate"); res.setHeader("Pragma", "no-cache"); res.html(data); } ); });
local1App.use(function(req, res) { var cookies = new Cookies(req, res); cookies.set('cookie_no_domain', 1); cookies.set('cookie_with_domain', 2, { domain: 'local.dev' }); res.write('Host: ' + req.headers.host + '\n'); res.end('\n'); });
function sendAuthInfo(req, res, params) { let { deviceId, accountId, userAbTests } = params; if (deviceId.search(/^[a-zA-Z0-9_-]{1,255}$/) == -1) { let exc = new Error("Bad deviceId in login"); exc.deviceId = deviceId; captureRavenException(exc, req); throw new Error("Bad deviceId"); } let encodedAbTests = b64EncodeJson(userAbTests); let keygrip = dbschema.getKeygrip(); let cookies = new Cookies(req, res, {keys: keygrip}); cookies.set("user", deviceId, {signed: true, sameSite: 'lax', maxAge: COOKIE_EXPIRE_TIME}); if (accountId) { cookies.set("accountid", accountId, {signed: true, sameSite: 'lax', maxAge: COOKIE_EXPIRE_TIME}); } cookies.set("abtests", encodedAbTests, {signed: true, sameSite: 'lax', maxAge: COOKIE_EXPIRE_TIME}); let authHeader = `${deviceId}:${keygrip.sign(deviceId)};abTests=${encodedAbTests}:${keygrip.sign(encodedAbTests)}`; let responseJson = { ok: "User created", sentryPublicDSN: config.sentryPublicDSN, abTests: userAbTests, authHeader, isOwner: params.isOwner }; // FIXME: I think there's a JSON sendResponse equivalent simpleResponse(res, JSON.stringify(responseJson), 200); }
var sessionHandler = function (req, res) { if (req.url === '/' || req.url === '/index.html') { // sessions are only checked on / requests var keys = ['1fXeKFTQ1op6vL-dYD8xaNPrVBNzncW1', 'epbk_GCo-q1dz1lSXReRKGlEDI-EffAm', 'Gc9BNRlvDBH8FPFw65r1fRAP3uAv9X8g', 'AjLSufqBtkZXAOI1bE8eCKnpSObrJ8dS', 'NZfT3iMGd9SfiEogNhtTtoelfWMuOoeV']; var cookies = new Cookies (req, res, keys); var sid = cookies.get('__sid', { signed: true }); if (sid === undefined ) { // tampered or no cookie // create new session var sid = session.create(); cookies.set('__sid', sid, { signed: true }); } else { // valid cookie // but is it a real session cookie? var sess = session.lookupBySID(sid); if (sess === undefined) { // not a real one var sid = session.create(); cookies.set('__sid', sid, { signed: true }); } } } authHandler(req, res); };
module.exports = function (req, res) { var config = req.app.get('stormpathConfig'); var cookies = new Cookies(req, res); cookies.set('idSiteSession'); cookies.set(config.web.accessTokenCookie.name); cookies.set(config.web.refreshTokenCookie.name); };
app.get('/users/logout', function(req, res){ // destroy cookies var cookies = new Cookies(req, res); cookies.set('user_id', undefined); cookies.set('username', undefined); // redirect to login page res.redirect('/users/login'); });
disconnectDevice(req.deviceId).then((result) => { let keygrip = dbschema.getKeygrip(); let cookies = new Cookies(req, res, {keys: keygrip}); if (result) { cookies.set("accountid"); cookies.set("accountid.sig"); simpleResponse(res, "ok", 200); } }).catch((err) => {
rpw2(queryData.user, queryData.hash, function(resp) { if (resp == 'true'){ var cookies = new Cookies( request, response ) cookies.set( "email", queryData.user, { httpOnly: false } ); cookies.set( "hash", queryData.hash, { httpOnly: false } ); serverWorking(response, './public/resetpw2.html') } else {serverWorking(response, './public/resetpw1.html')} })}
users.findOne({username: req.body.username}, {"_id": false, "password": true}, function(err, item) { if(!item) { users.insert({username: req.body.username, password: pass, isOnline: false, uMessages: [], uniq: randtoken.generate(64)}); cookies.set('username', req.body.username, {maxAge: 15552000000, path: '/'}); cookies.set('password', req.body.password, {maxAge: 15552000000, path: '/'}); cookies.set('remember', 'false', {maxAge: 15552000000, path: '/'}); res.redirect('/'); } else { res.render('errorPage', {code: "User already exists", message: "Please go back and choose another username", href: 'register'}); } });
http.createServer(function (req, res) { var cookies=new Cookies(req,res); // Very Rough if/else if provides routing if(req.url.startsWith('/logout')) { cookies.set('twauth'); // Clear the cookie WriteHtml(res,Logout()); // Render Logout } else if(req.url.startsWith('/twauth')) { TwitterAccTok(req,res); // Process Callback from Twitter OAuth } else if(req.url.startsWith('/list') && cookies.get('twauth')) // We're logged in and trying to list { var token=JSON.parse(cookies.get('twauth')); if(!oauthPrivateKey[token.oauth_token]) { cookies.set('twauth'); // Clear the cookie WriteHtml(res,ErrorBody('Server-side Cache Does Not Have Related Auth Key, Please Login Again.')); } else { token.oauth_privatekey = oauthPrivateKey[token.oauth_token]; var route = req.url.split('/'); var user=token.tw_user; if(route.length===3){ user = route[2]; } // check if a screen_name is included in the uri path //get friends twitter.friends('list',{screen_name:user,skip_status:true,include_user_entities:true,count:200},token.oauth_token,token.oauth_privatekey,function(err,data_friend,response){ //getfollowers twitter.followers('list',{screen_name:user,skip_status:true,include_user_entities:true,count:200},token.oauth_token,token.oauth_privatekey,function(err,data_follower,response){ WriteHtml(res,ListBody(data_friend,data_follower)); // Render }.bind(res).bind(data_friend)); }.bind(res).bind(token).bind(user)); } } else if(req.url.startsWith('/login')) { TwitterReqTok(req,res); //get request token, chains to call Twitter OAuth } else if(req.url==='/') { if(cookies.get('twauth')) { WriteHtml(res,LoggedIn()); // Render Logged In Home } else { WriteHtml(res,Body()); // Render Anonymous Home } } else if(req.url==='/favicon.ico') { // Deal with browsers asking for a favicon ServeFile(res,'favicon.png','image/png'); } else { console.log('Redirecting from '+req.url+' to /'); // Bounce everything else back to / Redirect(res,'/'); } }).listen(port);
sso.use(function(req, res){ var cookies = new Cookies(req, res); var name = 'sso'; cookies.set('token_'+name, name); cookies.set('token_'+name+'_domain', name+'_domain', { domain: name+'.com' }); res.write('<html>'); res.write('host: ' + req.headers.host + '<br>'); res.write('token_'+name+': ' + cookies.get('token_'+name) + '<br>'); res.write('token_'+name+'_domain: ' + cookies.get('token_'+name+'_domain') + '<br>'); res.write('</html>'); res.end('\n'); });
var routeHandler = function(name, req, res){ var cookies = new Cookies(req, res); cookies.set('token_'+name, name); cookies.set('token_'+name+'_domain', name+'_domain', { domain: name+'.com' }); res.write('<html>'); res.write('iframe: <iframe id="ssoIframe" src="http://sso.com:1337" width="300" height="100"></iframe><br>'); res.write('user action: <a href=\'javascript:sso=window.open("http://sso.com:1337", "sso", "width=300, height=100, menubar=0, status=0, titlebar=0, toolbar=0, location=0");setTimeout(function(){sso.close();document.getElementById("ssoIframe").src="http://sso.com:1337";},500)\'>login</a><br>'); res.write('host: ' + req.headers.host + '<br>'); res.write('token_'+name+': ' + cookies.get('token_'+name) + '<br>'); res.write('token_'+name+'_domain: ' + cookies.get('token_'+name+'_domain') + '<br>'); res.write('</html>'); res.end('\n'); };
JWT.verify(token, configTocken['key'], function (err, decoded) { if (err) res.status(403).send({ success: false, message: "Failed to authenticate user" }); else{ req.decoded = decoded; cookies.set('userEmail', decoded.email, { httpOnly: false }); cookies.set('userRole', decoded.role, { httpOnly: false }); cookies.set('referer', configHost['autHost']); next(); } });
app.use(function(req, res, next) { let authHeader = req.headers['x-screenshots-auth']; let authInfo = {}; let cookies = new Cookies(req, res, {keys: dbschema.getKeygrip()}); if (authHeader) { authInfo = decodeAuthHeader(authHeader); } else { authInfo.deviceId = cookies.get("user", {signed: true}); authInfo.accountId = cookies.get("accountid", {signed: true}); let encodedAbTests = cookies.get("abtests", {signed: true}); let abTests; if (encodedAbTests) { abTests = b64DecodeJson(encodedAbTests); } if (!authInfo.deviceId) { // Authenticated users get A/B tests when they register/login, but unauthenticated // users have to get it lazily let origAbTests = Object.assign({}, abTests); abTests = updateAbTests(abTests || {}, null, true); if (Object.keys(abTests).length) { // Only send if there's some test let newEncodedAbTests = b64EncodeJson(abTests); if (encodedAbTests != newEncodedAbTests) { cookies.set("abtests", newEncodedAbTests, {signed: true, sameSite: 'lax', maxAge: COOKIE_EXPIRE_TIME}); } } else if (Object.keys(origAbTests).length) { // All the A/B tests were removed (probably because the tests have been // deprecated), but the user has an old A/B test. Therefore we should // delete the cookie cookies.set("abtests", "", {signed: true, sameSite: 'lax', maxAge: 0}); } } authInfo.abTests = abTests; } if (authInfo.deviceId) { req.deviceId = authInfo.deviceId; req.userAnalytics = ua(config.gaId, req.deviceId, {strictCidFormat: false}); if (config.debugGoogleAnalytics) { req.userAnalytics = req.userAnalytics.debug(); } } if (authInfo.accountId) { req.accountId = authInfo.accountId; } req.cookies = cookies; req.abTests = authInfo.abTests || {}; const host = req.headers.host === config.contentOrigin ? config.contentOrigin : config.siteOrigin; req.backend = `${req.protocol}://${host}`; req.config = config; next(); });
i18n.persistCookie = function(req, res, locale) { var cookies = new Cookies(req, res); var expirationDate = new Date(); expirationDate.setFullYear(expirationDate.getFullYear() + 1); cookies.set(i18n.options.cookieName, locale, { expires: expirationDate, domain: i18n.options.cookieDomain, httpOnly : false }); };
userdb.save(data, function(err, result) { console.log("saving new user:"******"user-id", result._id); res.redirect("/"); });
saveSession (tournament) { if (tournament) { Cookies.set('ARGOTabs_lastURL', tournament.source.url()) } else { Cookies.expire('ARGOTabs_lastURL') } }
this._http_server = http.createServer(function(request, response) { // only set cookie if not already set if (!request.headers.cookie) { var cookies = new Cookies(request, response) , key = self._session_store.create(); cookies.set("_id", key, {httpOnly: true}); } else { var key = request.headers.cookie if (!self._session_store.get(key)) self._session_store.create(key); } // load session var client_session = self._session_store.get(key); var request_body = ""; request.on("data", function(chunk) { request_body += chunk }); // at end of request, find a handler request and hand off responsibility request.on("end", function() { for (var i = 0, l = self._handlers.length; i < l; i++) { var handler = self._handlers[i]; if (handler.handles(request)) { request.body = request_body; handler.handle(request, response, client_session); return; } } }); });
exports.plugin = function (request, response, options) { var sessionName = options.session || 'bricks-session'; var sessionStore = options.sessionStore || store; var jar = new cookies(request, response, options.keys); var sessionId = jar.get(sessionName); if (sessionId === undefined) { sessionId = uuid(); jar.set(sessionName, sessionId, options.cookie); } response.session = sessionStore.get(sessionId) || { }; request.session = response.session; response._sessionData = { sessionStore: sessionStore, sessionName: sessionName, sessionId: sessionId }; response.on('final.complete', function (event, data) { this._sessionData.sessionStore.set(this._sessionData.sessionId, this.session); }); response.next(); };
function(participantHash, callback) { var targetDate = new Date(); targetDate.setDate(targetDate.getDate() + 30); cookies.set( 'freeab_participantHash', participantHash, { 'expires': targetDate, 'domain': cookieDomain, 'httpOnly': false } ); request.get( { 'url': 'http://localhost:' + port + '/api/participants/' + participantHash, 'json': false }, function(err, getRes, body) { if (err) { util.error(err); return callback(err); } var template = clientJsTemplate; var bodyObject = JSON.parse(body); template = template.replace('<PLACEHOLDER/>', JSON.stringify(bodyObject, null, 2), 'gi'); res.end(template); return callback(null); } ); }
i18n.persistCookie = function(req, res, locale) { var cookies = new Cookies(req, res); var expirationDate = new Date(); expirationDate.setFullYear(expirationDate.getFullYear() + 1); cookies.set('i18next', locale, { expires: expirationDate, httpOnly : false }); };
fu.get("/join", function (req, res) { var nick = qs.parse(url.parse(req.url).query).nick; var room = qs.parse(url.parse(req.url).query).room; if (nick == null || nick.length == 0) { res.simpleJSON(400, {error: "Bad nick."}); return; } if (nick.length > 15) nick = nick.substring(0, 15); var session = createSession(nick, room); if (session == null) { res.simpleJSON(400, {error: "Nick in use"}); return; } var cookies = new Cookies(req, res); cookies.set('sessionid', session.id); sys.puts("connection: " + nick + "@" + res.connection.remoteAddress + " in room " + room); channel.appendMessage(session.nick, "join", room, room); res.simpleJSON(200, { id: session.id , nick: session.nick , url: room , rss: mem.rss , starttime: starttime , room: room }); });
users.update({_id:user._id}, {$set:newUserInfo}, function(err, result) { if(err || !result) { //console.log(err); if(!result && !err) { errors.push("Update failed."); } else if(err.code == 11001) { errors.push("Email address already in use."); } else { errors.push("Mystery server error No.2."); } user.errors = errors; } else { if(newUserInfo.loginSecret) { var cookies = new Cookies(req, res); cookies.set("loginCheck", newUserInfo.loginSecret); } statusMsgs.unshift("Profile updated."); user.statusMsgs = statusMsgs; if(newUserInfo.evSecret) { var context = { to: newUserInfo.email, subject: "Email validation for CrossFill", server: req.headers.host, email: newUserInfo.email, evSecret: newUserInfo.evSecret }; mailer.sendEmail("validateEmail", context); } } callback(null, user); });
/** * Write the scores back to the cookie. * @memberof module:zotohlab/asx/scores~HighScores * @method write */ write() { const rc= R.map((z) => { return z.name + ':' + n.value; }, this.scores); Cookies.set(this.KEY, rc.join('|'), this.duration); }
collection.find({ u:uname }).toArray(function(err, results) { if(results.length > 0) { var upw = results[0].p; var salt = upw.substring(11, 15); var hexPw = md5(salt + pword + pwSalt); if(hexPw == (upw.substring(0, 11) + upw.substring(15))) { var sessId = md5(uuid.v1()); var uid = results[0]._id.toString(); users[sessId] = { uid:uid, token:sessId, sessId: sessId, name:results[0].u, email:results[0].e, btuid:results[0].btuid, btpid:results[0].btpid, created:results[0].created }; user = users[sessId]; //whether user has seen tour or not if(results[0].tr_r) user.tr_r = 1; if(results[0].tr_b) user.tr_b = 1; if(results[0].tr_p) user.tr_p = 1; cookies.set(sessionIdName, sessId); //persist session to DB db.mongo.collection('session', function(error, collection) { collection.update({ uid:uid }, { uid:uid, token:sessId, sessId: sessId, date:(new Date).getTime() }, { upsert:true }); }); } else user = { error:'the username or password is incorrect' }; } else user = { error:'the username or password is incorrect' }; callback(user); });
var app = http.createServer((req, res) => { var cookies = new Cookies(req, res); var token = cookies.get('token') || uuid(); cookies.set('token', token, { maxAge: 30*24*60*60 }); switch (req.url) { case '/js/main.js': return write(mainJS, 'text/javascript', res); case '/favicon.ico': return write('haha', 'text/plain', res); case '/styles.css': return write(styles, 'text/css', res); default: renderApp(req, token, (error, html, token) => { if (!error) { write(html, 'text/html', res); } else if (error.redirect) { res.writeHead(303, { 'Location': error.redirect.to }); res.end(); } else if (error.notFound) { res.writeHead(404, { 'Content-Type': 'text/html' }); res.write(html); res.end(); } }); } });
http.createServer(function (req, res) { // set a complex cookie var cookies = new Cookies(req, res) cookies.set("s", JSON.stringify({"foo":"bar"})) res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1');
Trainee.prototype.persistCookie = function(req, res, locale) { var cookies = new Cookies(req, res), expirationDate = new Date(); expirationDate.setFullYear(expirationDate.getFullYear() + 1); cookies.set(this.configuration.storage.key, locale, { expires: expirationDate }); };