Simple image host.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

account_create.node.js 822B

1234567891011121314151617181920212223242526272829303132333435363738
  1. var scrypt = require("scrypt");
  2. module.exports = function(ctx) {
  3. ctx.getPostData(function(err, data) {
  4. if (err)
  5. return ctx.fail(err);
  6. if (!data.username || !data.password)
  7. return ctx.fail("You must provide a username and a password.");
  8. var params = scrypt.params(1);
  9. scrypt.hash(new Buffer(data.password), params, function(err, hash) {
  10. if (err)
  11. return ctx.fail(err);
  12. ctx.db.query(
  13. "INSERT INTO users (username, pass_hash) "+
  14. "VALUES ($1, $2 )"+
  15. "RETURNING id",
  16. [data.username, hash.toString("hex")],
  17. queryCallback
  18. );
  19. });
  20. });
  21. function queryCallback(err, res) {
  22. if (err)
  23. return ctx.fail(err);
  24. ctx.session.loggedIn = true;
  25. ctx.session.userId = res.rows[0].id;
  26. ctx.session.username = ctx.postData.username;
  27. ctx.succeed({
  28. id: res.rows[0].id
  29. });
  30. }
  31. }