Passaporte Stormpath Express salvar dados personalizados ou mesmo os dados predefinidos

Estou a analisar esta amostra do passaporte Expresso de Stormpath. https://github.com/stormpath/stormpath-passport-express-sample

não consigo entender como é que pode publicar um formulário e gravar dados personalizados ou mesmo os dados predefinidos, como o nome e o apelido. No geral, eu iria gostar se eu pudesse obter um exemplo HTML(Jade ou EJS) com linhas que eu preciso escrever em app.js ou index.js. Tenho lutado com isto durante 4 noites.

Eu tentei vários tutoriais para expressar, Stormpath, mas nenhum deles está destinado a trabalhar com isto. aplicação de amostras. Eu sempre tive que instalar vários módulos novos, mas mesmo isso não conseguiu nada para funcionar.

Eu gostaria muito que alguém de Stormpath ou realmente alguém que tenha experiência com isso, me ajudasse com o meu problema e talvez atualizasse seus tutoriais no site também, porque alguns parecem estar desatualizados.

Author: StartupEnthusiast, 2015-01-13

1 answers

Eu escrevi esse artigo e o projecto, e também sou o autor do express-stormpath. ( a nossa nova biblioteca, que torna estas coisas muito mais fáceis .

A maneira mais simples de fazer isto é numa rota (usando a nossa biblioteca de passaportes) é assim (nota, você pode precisar de actualizar para a última versão da nossa biblioteca de nós para fazer isto funcionar):

req.user.getCustomData(function(err, data) {
  data.someValue = 'blah';
  data.someOtherValue = {
    woot: 'hi',
    nope: 'there',
  };
  data.save(); // persist this data to Stormpath
  res.send('done!');
});

Se você está usando nossa biblioteca Express, você pode fazer isso um pouco mais fácil, aqui está um exemplo:

var express = require('express');
var stormpath = require('express-stormpath');

var app = express();
app.use(stormpath.init(app, {
  expandCustomData: true,
}));

app.get('/data', stormpath.loginRequired, function(req, res) {
  req.user.customData.color = 'black';
  req.user.save();
  res.send('stored data!');
});

app.listen(3000);
 1
Author: rdegges, 2015-01-13 16:58:14