验证ADFS令牌

时间:2017-03-15 08:28:43

标签: node.js authentication asp.net-web-api adfs3.0

我在ADFS 3.0中使用usernamemixed端点检索了JWT,现在我需要从node.js应用程序验证此令牌。我该如何实现这一目标?我知道如何从WebAPI验证此令牌。我需要在Node.js应用程序中做同样的事情。我可以仅依靠验证node.js中令牌(令牌签名证书)的签名,它可以被欺骗吗?

1 个答案:

答案 0 :(得分:0)

令牌验证包括签名检查,但并非全部;你需要检查验证,受众,发行人等等(见http://www.cloudidentity.com/blog/2014/03/03/principles-of-token-validation/)。 这通常通过使用验证库来实现,该验证库读取发行者元数据并使用它来验证传入令牌。如果您正在使用ADFS“4.0”,则只需在https://github.com/Azure-Samples/active-directory-node-webapi中获取Azure AD Web API节点样本,然后将其指向ADFS。 ADFS“3.0”不会使用该示例使用的openid连接发现规范公开元数据,因此代码将无法按原样运行。但是它确实在其ws-federation元数据文档中提供了相同的信息。如果使用ASP.NET中间件实现相同的方案并捕获网络跟踪,您将看到如何自己实现相同的检查。如果您可以将ADFS实例升级到“4.0”,那将是非常可取的 - 更少的自定义代码。