gpt4 book ai didi

javascript - 从 Passport 访问 Passport 策略

转载 作者:行者123 更新时间:2023-11-29 21:23:55 28 4
gpt4 key购买 nike

我使用带有passport-saml 策略 的 Passport 。在策略 上,有一个我想使用的函数。我知道策略是这样使用的:

const SamlStrategy = require('passport-saml').Strategy;

passport.use(new SamlStrategy(
{//options here...}, ...);

现在如何从 passport 变量访问 strategy(及其功能)?像 passport.Strategy.functionIWantToCall() 这样的东西?

最佳答案

您可以使用 passport._strategy(NAME) 按名称检索策略对象,并通过该对象上的 _verify 检索函数:

var strategy = passport._strategy('saml');
var func = strategy._verify;

但是,请注意所有这些访问器都带有下划线前缀,这意味着它们应该被视为私有(private)(它们没有文档记录,我在源代码中找到了它们)。它们不应该像这样访问,只能在内部通过 Passport 访问。

更好的解决方案是创建一个单独的模块来封装策略对象:

// my-strategy.js
module.exports = new SamlStrategy(...);

// In your Passport setup:
...
passport.use(require('./my-strategy')));
...

// And elsewhere where you need to access the strategy:
var strategy = require('./my-strategy');

关于javascript - 从 Passport 访问 Passport 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37990947/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com