【问题标题】:Which Oauth2 grant type should I use for my situation?对于我的情况,我应该使用哪种 Oauth2 授权类型?
【发布时间】:2019-04-13 03:28:26
【问题描述】:

我有两个服务:

UserManagement service (U service, also an OAuth2 Authorization server) 

FileManagement service (F service).

我目前使用密码流来保护所有服务之间的通信。用户使用自己的用户名和密码从 U 服务获取令牌,然后使用该令牌从 F 服务获取文件。

现在新情况即将来临:

当新用户通过U服务创建新账户时,U服务会向F服务发送请求创建用户文件夹。但是在注册过程中,没有token可以用来访问F服务。

在这种情况下我应该使用多混合流吗?

任何建议都将不胜感激。

【问题讨论】:

  • @LGSon 我将 oauth2 与 JWT 一起使用。但我认为我的问题更笼统。
  • 诸如 “我应该使用...”之类的一般问题在 SO 主要基于意见时是题外话。
  • @LGSon 你真的读过我的问题吗?
  • 是的,它说 “在这种情况下,我应该使用多混合流吗?” ...正如我已经说过的,它要么基于意见,要么过于宽泛,在 SO 中两者都不是主题。你需要缩小范围。

标签: oauth-2.0 spring-security-oauth2


【解决方案1】:

你可以有一个标志isFirstTimeLogin,如果用户第一次登录U服务时为真你将请求发送到F服务并生成令牌(但我不知道是否创建F服务中的文件夹是否需要很长时间)。

或者当用户在你的 U 服务上注册时,你调用 login 方法生成一个令牌,然后你可以将令牌发送到 F 服务。

我希望这会对你有所帮助。 :)

【讨论】:

  • 感谢您的建议!但是如果将来我们需要更多的服务之间的通信,那么添加 so may flags 并不是一件好事。有更通用的想法吗?
  • 如果您希望您的 U 服务在用户在您的 U 服务中注册后生成一个令牌,并且像这样它用于现有的每个服务,您需要在 Register 方法中实现令牌的生成,只需将登录方法里面的逻辑复制到注册方法中即可。
  • 非常感谢您的建议。如果没有其他更好的建议,我会以此作为我的答案。我会更多地考虑我的问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 2017-07-22
  • 1970-01-01
  • 2020-03-13
  • 1970-01-01
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 2016-03-15
相关资源
最近更新 更多