我一直致力于使用托管在 Azure VM 上的 AD 在 NodeJS 应用程序中实现 SSO。我正在使用 npm-kerberos在我的申请中。这是我配置所有内容的方式:
- 我已经为该服务创建了一个 SPN
- 使用该 SPN 生成了一个 key 表
- 在我的 ubuntu 服务器/etc/中复制 key 表
- 安装了 kerberos 客户端并相应地配置了 krb5.conf
在我的应用程序中,我安装了 kerberos npm:
- principalDetails 方法返回 HTTP/enpast.com@REALM.COM,这是我想要的。
- checkPassword 也能正常工作。
- initializeServer 使用我从 principalDetails 获得的 SPN 失败。
代码如下:
const service = 'HTTP/enpast.com@REALM.COM'
kerberos.initializeServer(service, (err, data)=>{
if (err) {
console.log('Failed intialization---->', err);
} else {
console.log('Successfully initialized server', data);
}
});
这是我收到的错误信息:
[Error: Unspecified GSS failure. Minor code may provide more information: No key table entry found matching HTTP/enpast.com/realm.com@]
任何线索都将受到高度赞赏。谢谢
最佳答案
我有一个类似的问题,要解决它,我必须这样声明 service
:
const service = 'HTTP@enpast.com'
注意“@”字符的位置。
关于npm - [错误 : Unspecified GSS failure. 次要代码可能提供更多信息:找不到匹配的 key 表条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59084917/