gpt4 book ai didi

javascript - 具有不同配置的相同 Passport js 策略 (SAML)

转载 作者:行者123 更新时间:2023-12-04 15:49:44 25 4
gpt4 key购买 nike

我正在尝试使用 Okta 作为身份提供者和 passport-saml 库在我的 Nest.js 应用程序中创建 SSO。我阅读了 Nest authentication 和 passport-saml 的文档。我对示例的理解没有问题,但我确实需要使用具有不同配置的 SAML 策略,这取决于 POST api/auth/saml 的请求正文值.换句话说,我有一个策略,但有不同的 入口点、颁发者、证书 我的自定义参数 登录SSOStrategy类扩展 Passport 策略类 Nest.js 的。任何想法我该如何处理?

最佳答案

我不太确定这是否是一个好方法,但是如果您愿意,您可以将类请求限定为范围并通过构造函数注入(inject)请求,然后可以访问请求对象并能够使用的新实例您的 Passport 策略每个请求。您可以使用请求传递req.whateversuper()类的构造函数。

@Injectable({ scope: Scope.REQUEST })
export class LoginSSOStrategy exends PassportStrategy(Strategy) {

constructor(@Inject(REQUEST) request: Request, ...) {
super({/* options matching to request.field */});
}

validate(/* validate params*/) {
/* validate functionality */
}
}

这似乎是您需要进行大量测试并确保它适用于并发请求的事情,但总的来说它至少在理论上是可行的。

关于javascript - 具有不同配置的相同 Passport js 策略 (SAML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59249525/

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