教程:验证 JSON Web 令牌 (JWT)
本教程介绍如何定义和实施用于验证 JSON Web 令牌 (JWT) 的 REST API 定义。
关于本教程
在本教程中,您将完成以下课程:
准备工作
同时执行以下步骤。
- 完成教程:生成 JSON 网络令牌 (JWT) 教程。 本教程将生成可通过本教程验证的 JSON Web 令牌。 您需要此 JWT 来测试此验证 API。
验证 JWT
创建 REST API 以验证 JSON Web 令牌 (JWT)。
要添加并定义此 REST API,请完成以下步骤:
- 登录API管理器。
- 在欢迎页面中,单击 " 开发 API 和产品 "磁贴。

- 单击。

- 确保 OpenAPI 3.0 被选中。
- 选择新建 OpenAPI。 单击下一步。

- 输入相应的信息以创建 REST API 定义。

- 单击下一步。
- 更改无安全屏幕。 单击下一步。

- 您将看到新建 API 的进度。 完成后,您将看到摘要信息。 点击编辑API。

- 在“设计”页面的侧边栏中,选择路径以显示路径面板。
- 单击添加。

- 在路径字段中输入 /val。
- 单击添加。

- 向下滚动。 在参数部分 ,点击添加。

- 在参数名称字段中输入 Authorization 。
- 在 " 位于 "字段中选择 header 。
- 在描述字段中输入 Enter Bearer <jwt> 进行匹配。
- 选择必填项。
- 单击创建。

- 向下滚动。 在 “架构”部分 ,点击 “创建”

- 在类型字段中选择 string 。
- 单击创建。

- 创建参数后,点击保存。
- 单击组件 > 响应。
- 单击添加。

- “回复”名称字段自动填充为 200 。
- 请在描述栏中输入 200 OK 。

- 创建回复后,点击保存。
- 点击“网关 ”。
- 将鼠标悬停在现有的代理或启动操作上,然后单击垃圾桶图标将其删除。

- 将设置变量操作拖动到处理流线上。 将自动打开配置面板。
- 点击 “添加操作 ”。

- 在 “设置”字段中输入 hs256-key 。
- 在类型字段中选择 string 。
- 在价值栏中输入JWK。 以下是一个示例。 {
"alg": "HS256", "kty": "oct", "use": "sig", "k":
"o5yErLaE-dbgVpSw65Rq57OA9dHyaF66Q_Et5azPa-XUjbyP0w9iRWhR4kru09aFfQLXeIODIN4uhjElYKXt8n76jt0Pjkd2pqk4t9abRF6tnL19GV4pflfL6uvVKkP4weOh39tqHt4TmkBgF2P-gFhgssZpjwq6l82fz3dUhQ2nkzoLA_CnyDGLZLd7SZ1yv73uzfE2Ot813zmig8KTMEMWVcWSDvy61F06vs_6LURcq_IEEevUiubBxG5S2akNnWigfpbhWYjMI5M22FOCpdcDBt4L7K1-yHt95Siz0QUb0MNlT_X8F76wH7_A37GpKKJGqeaiNWmHkgWdE8QWDQ",
"kid": "hs256-key" }

- 关闭属性面板。 单击保存。
- 将验证 JWT 操作拖至处理流线和是哪个 set-variable 图标之后。 将自动打开配置面板。

- 在验证加密JWK变量名称字段中输入 hs256-key 。

- 关闭属性面板。 单击保存。
- 将 GatewayScript 操作拖动到“验证 JWT”图标之后的处理流线上。 将自动打开配置面板。
- 输入以下代码:
var apim = require('apim'); apim.setvariable('message.body',apim.getvariable('decoded.claims'));注意: 响应可能包括以下警告,可以忽略:警告: 此 gatewayscript 策略不应使用 apim 模块,该模块仅用于迁移旧的 API。
- 关闭属性面板。 单击保存。
- 确保启用显示捕获选项,从而显示捕获区域。

- 点击“捕捉 ”。 将打开属性面板。
- 点击添加默认捕获。

- 将 GatewayScript 策略操作拖动到捕获流线上。
- 输入以下代码:
var apim = require('apim'); apim.setvariable('message.body',apim.getvariable('jwt-validate.error-message'));
- 关闭属性面板。 单击保存。
测试 REST API
备注: 由于跨源资源共享(CORS)的限制,在 macOS Catalina平台上,Chrome或Safari浏览器无法使用装配测试工具。
要测试 REST API,您需要有效的 JWT。 您可以通过启动教程:生成 JSON Web 令牌 (JWT) 中创建的 API 来获取这样的 JWT。 要测试 REST API,请完成以下步骤:
管理 API 定义
现在,您的新 API 已正常运行,您可以管理该 API 了。 要查看即时选项,请执行以下步骤。
您在本教程中执行的操作
在本教程中,您完成了以下活动:
- 创建用于验证 JSON Web 令牌 (JWT) 的新 API 定义。
- 已测试新 API。
