使用JSON Web令牌和API网关保护APIS
什么是JSON Web令牌? 为什么它们在微服务架构风格的背景下很重要?
很高兴你问。 关于JSON Web令牌,有很多要讨论的内容,但让我们首先概述一下API网关,然后我们将深入研究JSON Web令牌和入门方法(包括一个很棒的新****)。
简介:API网关是微服务的核心
您可能想知道什么是API网关以及为什么如此重要。
TLDR:这很重要。
这是为什么的一个小秘密:它跨越了业务的业务方面和技术方面。 根据定义,API网关被视为“中间件”,因为它位于后端服务,Web和其他外部客户端之间。 API网关通过一组协议和一组RESTful API执行此操作。
因此,它将几乎所有所需的逻辑从客户端转移到网关,这使得开发,保护,管理和扩展端点变得更加简单。
如果您像Netflix或Google,那么迁移到微服务可能并不容易,但是您可以认识到将整体架构分解为更小,更易于管理的优势。 您的架构看起来像这样:
您可能已经注意到,它已经很混乱,并且(至少在纸面上)看起来安全性低得多,并且由于有许多不同的接触点和复杂的信息路由,因此连接到外部资源更加困难。
另外,当 迁移到微服务 的 主要好处是使生活更轻松 ,更灵活,同时又安全时 ,谁想应对所有这些 呢?
这个问题触及关于企业规模增长战略的非常重要的一点。 在每个接触点连接一堆微服务,这并不符合以安全方式进行构建的典型企业标准。 更多接触点,需要更多监控。 需要进行更多监视,将更多资源用于重复工作,这些工作应该很简单。 所以现在怎么办?
通过添加API网关,您可以与外部接触点,应用程序和API重新组织这种关系。 本质上,以一种使您能够在简化业务逻辑的同时构建业务逻辑的方式保护微服务。
可以通过保护,监视和扩展单个接触点来强调这种新的关系。 作为基本的行业标准,API网关处理来自外部API的身份验证和授权。
可扩展,高效— JSON Web令牌(JWT)和OAuth不值得您喜欢什么?
然而; 有多种方法可以对此进行协调。
JSON Web令牌(JWT)的另一个重要方面是您计划如何初始化它们。 一方面是支持由其他身份服务器(如Auth0)启动的JSON Web令牌,另一方面是通过我们的身份服务器实际启动和管理JWT。 这与您的安全策略和技术方法一样重要。
虽然没有灵丹妙药,但是集成方法有一些优势。 在使用Auth0设置身份并插入Express Gateway方面,有一个很好的入门故事 。
为什么管理自己的身份服务器不成功
这就是为什么我们从一开始就将其放入Express Gateway的原因。 因此,有更多机会立即开始使用,而无需注册额外的服务。 此外,Express Gateway还可与您现有的JWT提供程序接口。
让我们面对一些冷酷的事实。 首先,没有业务需求文档会说“设置支持JWT的身份服务器”。 我们从开发人员社区获得的反馈是,在大多数情况下,我们所有人都认为它已经存在。 因此,如果您正在从事一个项目而没有一个项目,那么开发人员就必须争先恐后地实现一些奇迹。
另外,值得注意的是,阅读OAuth2规范非常困难。 这也意味着获得所有正确的细节是一项了不起的壮举,这不是无法克服的,而是需要时间的。 当速度和敏捷性很重要时,放慢速度会使它看起来更糟。
这就是为什么围绕此整个产品细分市场的原因。
不,认真 有全套产品和公司将为您提供帮助,例如Ping Identity , Okta和(我们最喜欢的) Auth0 。 了解有关Auth0和Express Gateway的更多信息。
仍然没有感觉吗?
在实现过程中,您需要完成这些工作。 这就是内部支持JSON Web令牌(JWT)的地方。 为了帮助您入门,我们整理了一个****,介绍如何设置由其他身份服务器(如Auth0)启动的JSON Web令牌,以及何时通过身份服务器实际启动和管理JWT。
通过以下易于操作的****开始在Express Gateway中使用JSON Web令牌支持:
或:您也可以在发行文章中查看更多技术入门指南 ,详细介绍最新更新。
最初发布于 www.express-gateway.io ,但在此处与其他注释,图表和特殊的Medium编辑评论共享。
From: https://hackernoon.com/securing-apis-with-json-web-tokens-and-an-api-gateway-b9b589149616