使用PropelAuth在网关处保护您的API | Zuplo博客
使用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的响应结果:

测试未授权行为
您还可以通过从主页注销并导航回/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
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- 将 GraphQL 单体迁移至 Apollo Federation
- 声音即身份:声纹识别API如何改变身份验证的未来
- 国内API KEY 密钥免费的AI平台及其使用指南
- 全面解读:REST API与OpenAPI的区别、应用及最佳实践指南
- 5款强大且高效的API漏洞扫描工具推荐
- Twitter (x) API 介绍:在线使用和集成指南
- DeepSeek+ima:打造高效个人知识库,提升学习与工作效率
- API设计模式:粒度细化 vs 粒度粗化的利弊分析
- 如何实现Mock API以进行API测试 | Zuplo博客
- 解读 TaskMatrix.AI
- API协议设计的10种技术
- ComfyUI API是什么:深入探索ComfyUI的API接口与应用