0

我需要拦截到我的节点服务器的特定请求并在那里引入 Kerberos 身份验证。

假设如果一个请求来自 /names/ ,我需要首先 Kerberos 对其进行身份验证,并且只有当它成功通过身份验证时,我才会继续执行该请求。

我有一个 .keytab 文件,据我所知,它包含身份验证所需的主体和加密密钥。

问题:如何在 Node JS 上读取 .keytab 加密文件?我查看了 node-krb5 和 node-passport 之类的 Node 包,但找不到读取我的 keytab 文件的方法

如果您做了类似的事情,请提供帮助。谢谢。

4

2 回答 2

0

我查看了 node-krb5 的源代码,这没什么用。它所做的或多或少是 kinit 所做的。

我的猜测是你需要一个 SPNEGO 的节点实现,它是一个使用 kerberos 的 Web 身份验证协议。您列表中的所有内容都没有做到这一点,而且写起来也不是一件容易的事。

我建议您考虑在您的节点应用程序前面放置一个支持 SPNEGO 的服务器。

于 2015-04-29T22:22:56.243 回答
0

您应该查看实现服务器端 kerberos 票证身份验证检查的节点护照协商模块。模块中有一个示例“登录”应用程序,它演示了如何使用该模块,如果您查看strategy.js,您应该了解如何使用底层 kerberos 支持,如果您想绕过护照并直接进行身份验证。

实际的服务器端 kerberos 功能是 npm kerberos模块的一部分。

于 2015-08-31T20:41:44.490 回答