node.sdk, stormpath, express.js 및 passport.js를 사용하여 새 웹 사이트에 대한 사용자 계정 시스템을 만들고 있습니다. 그래서 맞춤 데이터 슬롯이있는 계정을 만들었습니다. 로그인 할 때 로그 아웃하고 검색 할 때이 사용자 정의 데이터 슬롯에 새 데이터를 게시하는 방법을 알고 싶습니다. 노드를 처음 사용하고 코드를 어디에 두어야하는지 또는 액세스 방법을 모르겠습니다. 그들이 로그인했을 때의 '사용자'계정 정보. 내가 passport.js가 인증을 처리하고 있다고 말할 수 있기 때문에 아마 stormpath api에서 사용자 계정 URL을 검색하는 사용자 이메일을 볼 수 없습니다. 여기에 뭔가 빠졌어 ??사용자 계정 데이터 호출 및 저장
router.post('/register', function(req, res) {
var username = req.body.username; var password = req.body.password;
// Grab user fields. if (!username || !password) { return res.render('register', { title: 'Register', error: 'Email and password required.' }); }
// Initialize our Stormpath client. var apiKey = new stormpath.ApiKey(process.env['STORMPATH_API_KEY_ID'], process.env['STORMPATH_API_KEY_SECRET']); var spClient = new stormpath.Client({ apiKey: apiKey });
var app = spClient.getApplication(process.env['STORMPATH_APP_HREF'], function(err, app) { if (err) throw err;
account = {
givenName: 'John',
surname: 'Smith',
username: username,
email: username,
password: password,
customData:{
favList:'',
},
};
app.createAccount(account, function (err, createdAccount) {
if (err) {
return res.render('register', {'title': 'Register', error: err.userMessage });
} else {
passport.authenticate('stormpath')(req, res, function() {
return res.redirect('/home');
});
}
});
});
});
// 로그인 페이지를 렌더링하십시오. router.get ('/ login', function (req, res) { res.render ('로그인', {title : '로그인', 오류 : req.flash ('오류') [0]})}} ;
// 사용자를 인증하십시오. router.post ('/ login', passport.authenticate ('stormpath', {successRedirect : '/ home', failureRedirect : '/ login', failureFlash : '여기에 들어가려면 계정이 필요합니다. ',}));
// 대시 보드 페이지를 렌더링합니다. router.get ('/ home', function (req, res) {if (! req.user.status! == 'ENABLED') {return res.redirect ('/ login');}
res.render ('home', {title : 'Home', user : req.user,});});
이제는 훨씬 더 의미가 있습니다. 그래서 나는 이것을 바로 잡을 수있다. user.email을 사용하여 사용자 이메일에 액세스 할 수 있습니까 ??? – CHeffernan087
맞습니다. user.email이 계정의 이메일 주소를 알려줍니다. – robertjd