如何使用node.js对外部webapp的用户进行身份验证?

时间:2018-04-23 13:38:06

标签: node.js express authentication jwt agenda

我有一个node.js,表达网站,我用jwt令牌验证我的用户。我想在我的管理界面中添加外部网络应用程序,即set_index

Agendash包含在这样的快速中间件中:

df

我的计划是使用iframe并添加身份验证中间件功能,我检查用户是否为管理员,然后将身份验证令牌添加到前端的每个请求中。但似乎没有办法做到这一点。

有没有办法让这条路线仅供管理员用户使用,而无需更改年龄代码?

1 个答案:

答案 0 :(得分:2)

您可以使用express-basic-auth

只需将其作为中间件添加到议事日程

var express = require('express');
var app = express();
var basicAuth = require('express-basic-auth')

// ... your other express middleware like body-parser

var Agenda = require('agenda');
var Agendash = require('agendash');

var agenda = new Agenda({ db: { address: 'mongodb://127.0.0.1/agendaDb' } });
// or provide your own mongo client:
// var agenda = new Agenda({mongo: myMongoClient})

app.use('/dash', 
  basicAuth({
    users: {
      admin: "super-secure-password",
    },
    challenge: true,
  }),
  Agendash(agenda));

// ... your other routes

// ... start your server