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