小编am8*_*831的帖子

每个用户使用 Nodejs-Restify-Passport 进行一个会话

如何使用 node-passport-restify 允许每个用户进行一个活动会话?IE; 不允许用户同时使用其他选项卡或浏览器在多个会话中处于活动状态。

这是运行应用程序的代码。

const
restify = require('restify'),
restifyPlugins = require('restify').plugins,
passport = require('passport'),
BearerStrategy = require('passport-azure-ad').BearerStrategy,
config = require('./config'),
authenticatedUserTokens = [],
serverPort = process.env.PORT || config.serverPort;

const authenticationStrategy = new BearerStrategy(config.credentials, (token, done) => {

let currentUser = null;
let userToken = authenticatedUserTokens.find((user) => {
    currentUser = user;
    user.sub === token.sub;
});

if (!userToken) {
    authenticatedUserTokens.push(token);
}

return done(null, currentUser, token);
});

passport.use(authenticationStrategy);

const server = restify.createServer({
name: 'My App'
});


server.use(restifyPlugins.acceptParser(server.acceptable));
server.use(restifyPlugins.queryParser());
server.use(restifyPlugins.fullResponse());
server.use(restifyPlugins.bodyParser({
  maxBodySize: 0, …
Run Code Online (Sandbox Code Playgroud)

node.js restify adal passport.js passport-azure-ad

5
推荐指数
0
解决办法
136
查看次数

标签 统计

adal ×1

node.js ×1

passport-azure-ad ×1

passport.js ×1

restify ×1