我需要拦截进入我的节点服务器的特定请求,并在那里引入Kerberos身份验证。
假设如果请求/names/,我需要首先 Kerberos 对其进行身份验证,并且只有当它身份验证成功时,我才会继续完成请求。
我有一个.keytab文件,据我所知,该文件具有身份验证所需的主体和加密密钥。
问:如何在 Node JS 上读取 .keytab 加密文件?我已经研究了像node-krb5和node-passport这样的节点包,但找不到读取我的密钥表文件的方法
如果您做了类似的事情,请提供帮助。谢谢。
您应该查看节点 passport-negotiate 模块,该模块实现了服务器端 kerberos 票证身份验证检查。模块中有一个示例"登录"应用程序,演示如何使用该模块,如果您查看策略.js如果您想绕过护照并直接进行身份验证,您应该会看到如何使用底层 kerberos 支持。
实际的服务器端 kerberos 功能是 npm kerberos 模块的一部分。
我查看了node-krb5的源代码,这是相当无用的。它所做的一切或多或少是基尼特所做的。
我的猜测是,您需要SPNEGO的节点实现,这是一种使用kerberos的Web身份验证协议。列表中没有任何内容这样做,这不是一件小事。
我建议你考虑把一个支持SPNEGO的服务器放在前面。的节点应用程序。