API网关 - 认证 ; 原理概述与具体实践样例

目录

​编辑

API网关安全性认证的重要作用

API网关常见认证方式解析:

那安全认证是怎么做的 ?

        以JWT为例方式解析网关认证的核心机制

Higress简单介绍:基于Istio与Envoy的多功能云原生API网关

Higress 做 JWT认证的配置方法详解

JWT认证的详细配置方式

1. Higress server 的全局配置

2. 消费者配置

3. 特定路由或域名的配置

4. 发布JWT令牌

几个关键概念说明

Higress单机版简易部署指南


API网关安全性认证的重要作用

为了保护您对外提供服务的 API,避免恶意访问、未授权访问、应用漏洞、黑客攻击等导致的数据损失和资产损失,API网关的认证是十分必要的。基于token的身份验证机制,如JWT(Json Web Token),在这一过程中扮演了关键角色。

API网关常见认证方式解析:

API密钥认证:适合轻量级安全需求场景,易于实现和管理,但安全性较低,易被窃取。适用于内部系统或低敏感数据接口。

OAuth 2.0 : 适用于需要第三方授权访问的场景,提供细粒度权限控制,增强用户隐私保护,但流程较复杂,可能增加开发成本。

JWT(JSON Web Token):适合跨域、分布式环境下的单点登录,携带信息丰富,减轻服务器负担,但需注意令牌过期与刷新机制设计,比较常用的认证方式之一。

OpenID Connect : 基于OAuth 2.0之上添加了身份验证层,特别适合Web应用的身份验证,简化登录流程,提高用户体验,但依赖于可靠的身份提供商。

HMAC认证 : 通过共享密钥生成消息验证码来验证请求合法性,适用于确保数据完整性与来源真实性,但要求双方严格保密共享密钥。

那安全认证是怎么做的 ?

以下是基于 JWT 的网关认证流程的详细步骤:

  1. 客户端发起认证请求
    • 客户端(如浏览器或移动应用)向 API 网关发送一个认证请求,通常包含用户的用户名和密码。请求可能通过 POST 方法发送到特定的认证端点。
  1. 网关转发请求到后端服务
    • 网关接收到认证请求后,直接将请求转发给后端的身份验证服务。这个过程是透明的,客户端并不知道请求被转发了。
  1. 后端服务进行验证并生成 token
    • 后端服务读取请求中的用户名和密码,进行身份验证。如果验证成功,后端服务会使用私钥生成一个 JWT token。
    • 生成的 JWT 包含以下部分:
      • Header:定义了令牌的类型(JWT)和签名算法(例如 HS256)。
      • Payload:包含了用户信息(如用户名、角色等)和其他声明(如过期时间 exp 和颁发时间 iat)。
      • Signature:对 Header 和 Payload 进行签名,确保数据未被篡改。
  1. 网关返回 token 给客户端
    • 后端服务将生成的 JWT token 返回给网关。
    • 网关将该 token 作为响应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值