2017-03-15 49 views
0

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

回答

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”,那将是非常可取的方式 - 少一些必要的自定义代码。