【问题标题】:Is there any Spring boot Security specific solution to my needs?是否有任何 Spring boot Security 特定解决方案可以满足我的需求?
【发布时间】:2018-06-30 21:54:29
【问题描述】:

我开始使用 spring 4 mounth 前,我想尝试我得到的任何想法,现在我想知道我正在尝试做的事情是否可行,如果可以,是否有任何我还不知道的特定安全机制的。

我成功实现了一个安全 API,该 API 使用启用了基本身份验证和 ssl 的身份验证和授权,该 API 使用它处理比萨饼制作的碎片。

现在我想创建另一个 API 来处理披萨的计费,所以这个 api 将使用以前的。

这个重用原则引起了我的注意,是否有可能在我的第二个 api 中实现一个安全机制,询问我的第一个 api 是否我的当前用户已登录?

我脑海中的场景是这样的

API Pizza 中的用户认证和授权

用户要求 api bill 获得一份披萨的账单(一些带有标题的请求......)

账单 api 询问披萨 api 请求源是否已经过身份验证

pizza api 回答是否已通过身份验证

bill api 将身份验证状态存储在内存中

通过谷歌搜索,我不确定基于 spring 安全令牌的身份验证是否是一种解决方案。

注意:我只使用 http 请求,没有表单或前端

【问题讨论】:

    标签: spring spring-boot spring-security jwt


    【解决方案1】:

    解决方案的高级概述如下:

    1. 建立 OAuth2 Server 和 Zuul 网关。
    2. 服务“A”针对 OAuth2 身份验证服务器进行身份验证,并通过 Zuul 网关(即 Zuul 代理调用服务“B”)调用服务“B”的 Rest 端点,其中 OAuth2 令牌存储在会话中,并在 HTTP 中添加 OAuth2 令牌应要求提供“授权”标头。
    3. Zuul 查找服务“B”端点,使用其过滤器通过检查标头传播服务“A”的 OAuth2 令牌,并在“授权”标头中使用相同的令牌转发调用。
    4. 受保护资源的服务“B”接收请求、检查标头并针对 OAuth2 服务器验证接收到的令牌。

    您还可以让 Zuul 自动进一步传播 OAuth2 访问令牌,并通过使用 @EnableOAuth2Sso 注释来授权针对 OAuth2 服务的传入请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-07
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多