每个路由配置了NodeJS Passport,已将其添加为中间件,并且未收到任何错误,但无法正常工作/触发

时间:2018-10-24 09:34:23

标签: node.js express passport.js passport-azure-ad

我有一个NodeJS Api,并使用Passport Azure AD Bearer令牌进行身份验证-全局配置时一切正常,但是为了保持其干净,我需要针对每个路由文件进行配置。

我已经采用了首页上的逻辑,只是将其作为中间件添加到了路由文件中,但是似乎没有触发:

mysql.driver = com.mysql.jdbc.Driver
mysql.url = jdbc:mysql://localhost:3306/mydatabase
mysql.user = root
mysql.password = root

#Hibernate properties
hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.show_sql = true
hibernate.hbm2ddl.auto = update

#C3P0 properties
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.acquire_increment=1
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=150

此代码上方也存在配置对象。

1 个答案:

答案 0 :(得分:0)

我最终用每个应用程序添加的_appname重命名我的护照配置对象和初始化对象,并在index.js中将它们全部初始化,然后在父路由上简单提及哪个护照实例可以保护哪个。

下面的代码:

    // MIDDLEWARE    
    app.use(passport_myAppName.initialize());
    passport_myAppName.use(bearerStrategy_myAppName)

    app.use(passport_mySecondApp.initialize());
    passport_mySecondApp.use(bearerStrategy_mySecondApp)

    // ROUTES
    app.use("/myAppName", passport_idtTV.authenticate('oauth-bearer', { session: false }), myAppName);
    app.use("/mySecondApp", passport_idtTV.authenticate('oauth-bearer', { session: false }), mySecondApp);