示例#1
0
  console.log('beforeSet: ' + JSON.stringify(obj));
});

documentStore.on('afterSet', function (obj) {
  console.log('afterSet: ' + JSON.stringify(obj));
});

documentStore.on('beforeDelete', function (obj) {
  console.log('beforeDelete: ' + JSON.stringify(obj));
});

documentStore.on('afterDelete', function (obj) {
  console.log('afterDelete: ' + JSON.stringify(obj));
});

console.log('version: ' + documentStore.db.version());

sessions.addTo(documentStore);

var session = sessions.create('testApp');
console.log('id = ' + session.id);
console.log('token: ' + session.token);

var results = sessions.authenticate(session.token, 'noCheck');
console.log('results: ' + JSON.stringify(results));
console.log('token for session : ' + results.session.id + ': ' + results.session.token);
console.log('application : ' + results.session.application);
console.log('session data: ' + JSON.stringify(results.session.data.getDocument()));

db.close();
示例#2
0
  this.on('message', function (messageObj, send, finished) {
    var session;

    if (messageObj.type === 'initiate') {
      session = sessions.create('testApp');
      finished({
        token: session.token
      });
    }

    if (messageObj.type === 'login') {
      // user hasn't yet logged in, so set 2nd argument (loggingIn) to true

      var results = sessions.authenticate(messageObj.token, true);
      if (results.error) {
        finished(results);
        return;
      }

      var passwords = new this.documentStore.DocumentNode('ewdPasswords');
      var username = messageObj.credentials.username;
      var password = messageObj.credentials.password;

      if (!username || username === '') {
        finished({
          error: 'Missing username'
        });
        return;
      }

      if (!password || password === '') {
        finished({
          error: 'Missing password'
        });
        return;
      }

      if (!passwords.$(username).exists) {
        finished({
          error: 'Invalid username'
        });
        return;
      }

      if (passwords.$(username).value !== password) {
        finished({
          error: 'Invalid password'
        });
        return;
      }

      session = results.session;
      session.authenticated = true;
      finished({
        ok: true,
        application: session.application
      });
    }

    finished({
      error: 'invalid request: ' + messageObj.type
    });
  });