【问题标题】:How to configure SAML2 authentication for a loopbackJS application如何为 loopbackJS 应用程序配置 SAML2 身份验证
【发布时间】:2017-06-13 10:24:20
【问题描述】:
我想使用 SAML2.0 和 OneLogin 保护基于环回的应用程序。我相信我应该使用loopback-component-passport 和passport-saml 模块来实现我的目标。但是,我真的很难找到任何可以帮助我实现我的用例的好的文档。似乎provided sample 已过时且不那么准确。你有什么有用的指示或建议可以帮助我开始吗?
谢谢
【问题讨论】:
标签:
passport.js
loopbackjs
saml-2.0
passport-saml
【解决方案1】:
Loopback 中的 SAML 身份验证记录不充分,但受支持。阅读passport-configurator的源代码告诉我们providers.json的以下配置将起作用:
"saml": {
"name": "saml",
"authScheme" : "saml",
"module": "passport-saml",
"callbackURL": "",
"entryPoint": "",
"issuer": "",
"audience": "",
"certPath": "",
"privateCertPath": "",
"decryptionPvkPath": "",
...
}
这里的省略号表示来自passport-saml 提供程序的任何其他选项。请注意,这些选项没有进行特殊处理;因此,例如,您需要将certPath、privateCertPath 等作为字符串而不是文件路径传递。
查看如何使用这些属性here 配置护照。
【解决方案2】:
所以,我认为 Loopback 的文档中对此没有明确的解释,所以我要做的是尝试弄清楚如何正确配置 prviders.json 中的 SAML 提供程序以生成正确的护照auth 策略(在您的情况下,您应该按照 passport-saml 文档找出您需要传递的确切参数)。
Loopback 使用 loopback-component-passport 模块来读取提供程序并创建 Passport 策略。您可以深入了解this file 以了解他们的具体做法。