系统到系统集成和令牌验证

Posted

技术标签:

【中文标题】系统到系统集成和令牌验证【英文标题】:System to system integration and token validation 【发布时间】:2022-01-07 08:12:23 【问题描述】:

我们正在尝试设置基于 NodeJS 的计划作业,该作业将通过 API 网关调用 API。 API 调用另一个 API。不涉及用户或浏览器。调用必须经过身份验证,并具有来自 IdP 的有效 OAuth 令牌。采用更安全的方法应该是什么样子?

流程应该是什么样子? API 网关或第二个 API 应该验证令牌的哪一个?或两者?谢谢

【问题讨论】:

【参考方案1】:

关键点是 JWT 访问令牌验证旨在扩展。在旧架构中,通常使用外围安全(例如 API 网关验证令牌),但不再推荐这样做。

改为使用库在每个 API 中验证 JWT。这里有一些example code,其他技术见Curity API Guides。

如果您对 API 安全趋势感兴趣,这里有几篇相关文章:

Zero Trust Architecture Phantom Token Pattern

最后,this article 讨论了 JWT 通常可以在微服务之间转发,以保持您的代码简单。

【讨论】:

谢谢,在示例代码中,第一种方法在api网关中进行验证? api本身的第二个?架构流程应该是怎样的? 示例代码应该在每个 API 中运行。网关可以作为自省角色参与安全性,但未来的方向是每个 API 在允许请求之前验证 JWT。

以上是关于系统到系统集成和令牌验证的主要内容,如果未能解决你的问题,请参考以下文章

.NET JWT 令牌验证的命名空间:系统与 Microsoft

从SSO中的多个系统注销(单点登录)

Steam登录后为啥要验证安全令牌

MVC .NET cookie 身份验证系统通过令牌身份验证访问 Web Api

使用 Spring 和 JWT 进行基于令牌的身份验证

Spring Security:外部认证和内部认证