小编ioc*_*tos的帖子

OAuth2从资源服务器流向另一个

实施不可知的讨论.

假设如下图. 在此输入图像描述

  • 黑线表示哪些服务受auth服务器保护.
  • 绿线表示服务之间的交互(客户和订单服务需要通过将访问数据库的数据服务.StandAlone服务不喜欢其他服务)
  • 红线显示特定的请求流程
  • 数据服务不直接暴露给外部,只能由允许的其他服务访问.

我假设当用户使用auth服务器进行身份验证时,客户端已获得访问令牌.选择哪个流(隐式,授权代码,密码)是无关紧要的.我想从客户端已经获得访问令牌的角度开始讨论.

从那时起,我很清楚当客户端需要访问单个资源服务器时会发生什么.

  1. 向资源服务器发出请求并传递获取的令牌
  2. 资源服务器验证令牌(不相关如何)
  3. 如果有效,请提供服务.

因此,在该图中,如果客户端要访问"StandAlone Service"(它不与任何其他资源服务器通信),那么流程对我来说很清楚.

当客户端跟随图中的红线时,我遇到了麻烦.所以我需要访问一个服务(资源服务器),以便回复需要访问另一个服务(也是资源服务器).在这种情况下,流程如何?

场景1.

  1. "订单服务"既设置为资源服务器,也设置为客户端.
  2. 客户端使用访问令牌发出请求,但"订单服务"将获取具有其自己的客户端凭证的另一个令牌,以便与"数据服务"通信.

我认为这里的问题是我放弃了用户权限.我将使用"订单服务"权限而不是用户的权限执行对"数据服务"的请求.

情景2.

  1. "订单服务"仅设置为资源服务器.
  2. 客户端使用用户令牌发出请求,"订单服务"会将相同的令牌转发到"数据服务"

在这里,我执行用户的权限,但现在我看到我的"数据服务"已公开,并对任何其他服务开放.(实际上我不知道oauth2是否提供了这样的限制.仅将客户端限制为特定的资源服务器)

场景3.

在这里,我看到了上述场景的组合,其中"订单服务"将为数据服务提供两种令牌.用户访问令牌,以便使用正确的权限和"订单服务"客户端访问令牌执行请求,以便我知道该服务可以与"数据服务"通信.

履行

我正在使用spring boot和spring security来设置我上面看到的oauth2组件.我已经有一个auth服务器,一个资源服务器和一个客户端.客户端此时与资源服务器进行通信,而不会将请求委托给另一个资源服务器.

根据最佳方法,我将如何进入实施方面?我需要对资源服务器进行哪些更改才能使它们能够安全地相互通信?

感谢您的时间

security spring-security oauth-2.0 spring-oauth2

10
推荐指数
1
解决办法
1639
查看次数

JanusGraph + Cassandra(通用问题)

关于这两个工具的集成,我有几个问题.不是技术问题,也不是如何设置(我将在稍后讨论我的乐趣),但更多关于项目的进程和方向,看看JanusGraph还很年轻.

我正在开始一个新项目,并且已经决定使用Cassandra进行存储,并使用顶部声音图表对我很有吸引力.

在我走这条路之前,我想提前知道几件事.

  1. JanusGraph非常年轻,它从大约一年前Titan离开的地方开始.那里存在差距,但是作为Linux基金会的一部分以及所有大型企业支持它的事实听起来很有希望.在这一点上假设JanusGraph会留在这里是否安全?依靠Janus作为启动项目是否安全?并且遵循当然的发展并尽可能地更新.

  2. 卡桑德拉.Titan/JanusGraph使用thrift api与Cassandra 2.1.9集成,最终将在Cassandra 4中弃用.我知道目前正在完成工作以使janus与Cassandra 3一起工作并最终使用CQL.从现有的janus和Cassandra 2.1.9开始并稍后处理迁移是否安全?创业公司处理这项任务是否是一项艰巨的任务?

  3. 生产就绪JanusGraph.(这个问题涉及到它早期阶段的任何软件以及它是否可以安全地启动使用).据我所知,JanusGraph需要一段时间才能完成生产并赶上其集成的其他工具(尽管我们说的工作正在完成:)).再次开始使用Janus并遵循开发并最终迁移到生产就绪版本是否安全?JanusGraph的整体路线图是什么?

我一般关注的是这些工具的组合是否是启动的安全选择.整个堆栈对我们来说已经是新的了,我们很高兴尝试学习,但我们将很快达到迁移期.这是你会做/推荐的事情吗?这是自杀吗?

请分享您的想法,并记住它不一定是关于我正在谈论的堆栈.它可能是任何初创公司在其早期阶段处理任何类型的软件.

干杯

cassandra graph-databases titan cassandra-2.1 janusgraph

7
推荐指数
2
解决办法
1053
查看次数