2015-09-06 116 views
1

我试图自定义与Stormpath的注册页面,我无法弄清楚为什么配置选项无法正常工作。 enableXXX和requireXXX可以工作,但web:{...}中的信息都没有显示出来。我尝试重新排序这些选项,但这也不起作用。设置Stormpath配置选项

具体来说,我想:

- 在/注册注册用户,而不是/注册。现在只有/注册正在工作。

- 我想在注册后将它们重定向到另一个站点。我随机将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上。

我一直坚持这几天,我一直无法弄清楚我做错了什么。任何帮助将非常感激。

+0

什么是您使用Stormpath的版本? – xtu

回答

0

问题可能是这样的:我们最近发布了这个库的新版本,它有新的配置选项,并且它看起来是用我们的OLD文档作为参考。

这里,你会想做什么:

更新到最新快递-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 
})); 
相关问题