我正在尝试使用Stormpath自定义注册页面,但我不明白为什么配置选项不起作用。enableXXX和requireXXX正常工作,但web:{...}中的任何信息都未显示。我尝试重新排序选项,但也不起作用。
具体地说,我想:
--在/signup而不是/register上注册用户。现在只有/register在工作。
--我想在注册后将他们重定向到另一个站点。我随机将google.com放在其中,但在注册完成后,我仍然被重定向到"/“。
--我想对注册字段重新排序。我希望电子邮件是第一个字段,但用户名目前是第一个。
下面是app.js:
// Import required modules.
var express = require('express');
var stormpath = require('express-stormpath');
var path = require('path');
var engine = require('ejs-mate');
var app = express();
// use ejs-locals for all ejs templates:
app.engine('ejs', engine);
// Configure public views
app.set('views','./views');
app.use(stormpath.init(app, {
apiKeyFile: process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'] + ~removed
secretKey: '~removed',
application: '~removed',
enableRegistration: true,
enableGivenName: false,
requireGivenName: false,
enableSurname: false,
requireSurname: false,
website: true,
api: true,
web: {
register: {
uri: '/signup', // Use a different URL
nextUri: 'http://google.com', // Where to send the user to, if auto login is enabled
fields: {
passwordConfirm: {
enabled: true,
required: true
}
},
fieldOrder: [ "email", "username", "password", "passwordConfirm" ],
}
},
enableUsername: true,
requireUsername: true,
enableConfirmPassword: true,
requireConfirmPassword: true
}
));
app.get('/', function(req, res) {
res.render('home.ejs', {
title: 'Welcome'
});
});
app.get('/', function(req, res) {
res.send('home page!');
});
app.listen(process.env.PORT || 3000);其他可能的相关信息:
--站点托管在Heroku上,但我没有使用Stormpath附加组件,因为我无法让它工作。
--我用的是Mac。
我已经被困在这个问题上好几天了,我还不能找出我做错了什么。任何帮助都将不胜感激。
发布于 2015-10-15 08:03:46
问题可能是这样的:我们最近发布了这个库的新版本,它具有新的配置选项,似乎您正在使用我们的旧文档作为参考。
下面是你想要做的:
更新到最新的express-stormpath版本。然后使用下面的代码:(我将您的示例转换为适用于最新版本):
app.use(stormpath.init(app, {
client: {
apiKey: {
file: process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'] + '~removed'
}
},
application: {
href: '~removed',
},
web: {
register: {
enabled: true,
uri: '/signup',
nextUri: 'http://google.com', // don't send them here =)
fields: {
username: {
enabled: true,
required: true
},
givenName: {
enabled: false,
required: false
},
surname: {
enabled: false,
required: false
},
passwordConfirm: {
enabled: true,
required: true
}
},
fieldOrder: ['username', 'email', 'password', 'passwordConfirm']
}
},
website: true,
api: true
}));https://stackoverflow.com/questions/32426543
复制相似问题