【问题标题】:Authentication and Authorization for API GatewayAPI网关的认证和授权
【发布时间】:2020-01-12 21:01:08
【问题描述】:

我正在使用微服务在 springboot 中构建 Api 网关,并希望实现 API 网关的所有功能/原理

  1. 身份验证/授权
  2. 路由(可以使用 spirng 云网关进行路由)
  3. 负载平衡(Netflix 功能区)
  4. 缓存管理
  5. 速率限制
  6. API 性能监控

我已经探索过使用 OAuth2 实现身份验证/授权,但找不到合适的解决方案。

寻找实现这些功能的建议或示例。

通过https://github.com/TechPrimers/spring-security-oauth-example,很好

【问题讨论】:

    标签: spring-boot microservices spring-security-oauth2 api-gateway


    【解决方案1】:

    您可以参考此repo 来满足您的大部分需求。我使用 Spring 安全性添加了安全性。 Zuul 用于网关服务。项目还包括用于服务发现的 Eureka。使用这个 repo 实现缓存应该相当简单。您还可以在我的GitHub profile 中找到其他存储库,这将帮助您使用 spring 实现剩余的功能。

    【讨论】:

    • 感谢分享代码,看起来不错。我如何或从哪里开始测试?来自 localhost:8762/** 的所有 url 都是未经授权的。我猜流程是从网关开始的,你写过关于 auth-service 的文档吗?
    • 很遗憾,我还没有编写任何文档,但我期待尽快完成。到目前为止,您使用 localhost:8762/auth 和请求正文 { username: "user", password: "password" } 登录,这将返回带有 JWT 令牌的用户对象。可以通过使用生成的令牌设置授权标头来访问所有后续受保护的 URL。如果您需要更多帮助,您可以直接 ping。随意分叉代码并做出贡献。
    • 谢谢,它有帮助!,我将路由更改为 StudentController 作为路由: course-service: path: /v1/students in gateway
    • 嗨@Nasruddin 我看到你的项目很棒,它涵盖了spring-boot微服务的基本框架,如果你使用Spring API Gateway 而不是使用Zuul ,你能分享一些链接或项目框架吗?如果您可以指导,我将其替换为 or。
    • 嗨@ParthTiwari 我已经这样做了,但还没有推送到我的 GitHub 存储库。很快就会做。顺便说一句,感谢您的评论:)
    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2019-01-09
    • 2014-10-05
    相关资源
    最近更新 更多