2015-09-06 113 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 
})); 
相關問題