我需要我的节点服务器来验证客户端(HTTPS请求中提供的用户名/密码)并提供用户授权的角色。 我试图找出如何在成功验证的情况下检索节点中的Kerberos令牌(使用node-krb5或passport-kerberos模块)。
我的设置很基本:
对于步骤#3& #5,我正在寻找帮助来检索kerberos令牌并阅读其内容以提取角色信息。
非常感谢任何帮助。
我检查了一个早期的帖子但是没有回答: Kerberos Authorization w/ Node.js
感谢。
答案 0 :(得分:1)
Kerberos是一种身份验证协议。大多数实现只是在kerberos票证中没有任何角色数据。 Microsoft是我所知道的一个例外,他们在kerberos票证的扩展中编码一些组数据。
但是,除非您在服务器上有密钥表(MS中的SPN说话),否则您将永远无法读取故障单的内容。我不知道任何提供此数据访问权限的标准kerberos API。 (它们可能存在,我只是不知道它们)。
获取用户角色数据的典型方法是使用kerberos身份作为搜索授权服务的密钥。最常用的是LDAP。典型的应用程序将使LDAP查询获取用户属性,然后使用这些属性进行角色决策。 (或者查看用户是否是特定组中的成员)。
最后,从您的描述中很难说清楚,但听起来您实际上并没有按照预期的方式使用kerberos。使用kerberos的应用程序应该永远不需要用户名/密码组合。