配合shark-node-openid,能让hapi的web应用快速继承公司的openid登录功能
'use strict';
const Hapi = require('hapi');
var OpenIDDecoractor = require("shark-node-openid");
const server = new Hapi.Server();
server.connection({ port: 3000 });
server.register({
register: require('hapi-server-session'),
options: {
cookie: {
isSecure: false
},
cache: {
expiresIn: 30* 60 *1000
},
path: '/'
}
}, function (err) { if (err) { throw err; } });
OpenIDDecoractor.init(server, 'hapi');
server.route({
method: 'GET',
path: '/',
handler: OpenIDDecoractor.needLogin(function (request, reply) {
reply().redirect("/page1")
})
});
server.route({
method: 'GET',
path: '/page1',
handler: OpenIDDecoractor.needLogin(function (request, reply) {
reply('Hello, world!');
})
});
server.route({
method: 'GET',
path: '/xhr/getUserInfo.do',
handler: OpenIDDecoractor.ajaxNeedLogin(function(request, reply){
var obj = {
"code": 200,
"data": {
"userId": 0,
"userName": "stone-jin"
}
};
reply(obj);
})
});
server.start(function(error){
console.log('Server running at: ' + server.info.uri);
});