Spring安全上下文操作

时间:2016-07-15 15:50:20

标签: java spring spring-security

我有以下用例,我想验证:

我有一个资源服务器,可以将其称为(service1),另一个服务将尝试从此服务器获取一些数据(服务2),服务之间的通话使用(OAuth2)进行保护,因此(service2)会向(服务1)发送请求,并在标头(授权),资源服务器将针对某个Auth服务器验证此令牌。

出于某些用例原因,我不能在此令牌中包含客户数据,因此我将制作另一个 JWT 令牌,将客户数据放入其中并沿着请求发送另一个标头(例如:客户授权)。 在资源服务器上,我将采用以下方法:

  1. 使用spring安全配置验证第一个令牌( 发送授权标题)

  2. 如果是上一次传球,我会添加一个将替换的球衣过滤器。 (Spring安全上下文),新的自定义版本将处理我的第二个令牌在客户授权标题中发送

  3. 我将依赖新的Spring安全上下文来获取客户。 数据并进行所有必需的身份验证(e.x:using @PreAutorize)

  4. 我想知道这种方法在您看来有什么缺点吗?你会建议更好的方法吗?

    (注1:我知道拥有2个访问令牌并不标准,但我们目前的用例需要这个,我们不能在不久的将来更改它)

    (注2 :稍微清楚一点,我的第一个令牌用于服务认证服务及其 JWT 令牌,我通过STUPS获取并验证 { {3}}

    第二个令牌只是一个 JWT 令牌,我生成该令牌以存储一些客户数据和范围,并在以后的进一步处理中使用它)

0 个答案:

没有答案