使用PropelAuth在网关处保护您的API | Zuplo博客

作者:API传播员 · 2025-11-04 · 阅读时间:4分钟
本教程详细介绍了如何使用PropelAuth在Zuplo API网关处实现身份验证和授权,包括内置策略验证JWT令牌和自定义策略基于组织角色进行细粒度控制。通过快速入门示例,展示如何创建路由、添加客户端页面并测试授权行为,同时扩展功能如速率限制和地理位置过滤,帮助开发者保护API并提升安全管理效率。

使用PropelAuth在网关处保护您的API

API网关通常作为管理身份验证和授权的集中式枢纽。这种方法不仅简化了安全模型,还提供了一个统一的层,确保所有传入请求都经过正确的身份验证和授权。无论后端架构如何、微服务运行在哪里或由哪个团队开发,这种方式都能有效适配。

在本教程中,我们将向您展示如何使用PropelAuth在Zuplo上为API实现身份验证和授权。我们将从PropelAuth的内置策略开始,验证携带JWT令牌的请求。接着,我们将探索如何制定自定义策略,根据PropelAuth中定义的组织和角色,对API访问权限进行更细粒度的控制。


快速入门:保护您的API

完成快速入门后,您将拥有一个功能齐全的客户端应用程序,用于用户登录。我们将在完成API设置后,重新回到该客户端进行验证。

在Zuplo项目中创建路由

首先,在Zuplo项目中创建一个名为/whami的路由,并使用PropelAuth策略对其进行保护。有关如何实施PropelAuth策略的详细说明,请参考官方政策文档。

在这个例子中,我们将使用一个简单的自定义请求处理程序,该处理程序仅返回用户的信息:

用户信息示例

添加客户端页面

接下来,切换回客户端应用程序,添加一个新页面。该页面将使用PropelAuth提供的访问令牌,调用Zuplo项目中的/whami API端点。虽然示例中使用的是Next.js框架,但您可以选择任何适合的客户端框架。

如果设置正确,您将在WhoAmI页面上看到API的响应结果:

API响应示例

测试未授权行为

您还可以通过从主页注销并导航回/whami路由,进一步测试未授权行为。在这种情况下,服务器应返回未经授权的响应。


自定义策略:基于组织和角色的授权控制

PropelAuth的一个显著功能是能够将用户分配到特定的组织,并在这些组织中定义角色。这些属性会包含在发送到Zuplo API的身份验证令牌中。因此,您可以创建自定义策略来强制执行各种授权规则。

示例:限制访问特定路由

例如,如果您希望将对某个Zuplo API路由的访问限制为仅“所有者”角色的用户,可以实现如下简单策略:

自定义策略示例

通过这种方式,您可以轻松地对API访问权限进行精细化管理。


其他功能与扩展

Zuplo与PropelAuth的集成不仅简化了API保护和授权控制,还提供了许多扩展功能。例如:

  • 速率限制:控制API的请求频率,防止滥用。
  • 地理位置过滤:根据用户的地理位置限制访问。
  • 用户模拟:PropelAuth支持用户模拟功能,允许内部用户或支持团队以客户身份登录,便于故障排查。

这些功能为API管理提供了更高的灵活性和可扩展性。


总结

通过本教程,我们初步了解了如何使用Zuplo和PropelAuth保护API并实现强大的授权控制。这种集成方式不仅简化了安全管理,还为API提供了可扩展的保护和增强能力。

无论是速率限制、地理位置过滤,还是用户模拟功能,Zuplo与PropelAuth的结合都为开发者提供了灵活且强大的工具。未来,您可以进一步探索这些工具的潜力,为您的API管理带来更多可能性。

原文链接: https://zuplo.com/blog/2023/09/14/propel-auth-zuplo-jwt