spring cloud 小白求教

2023-01-08 12:10:42 +08:00
 fakeMaster

spring cloud oauth 使用的一个问题

ClientDetailsServiceConfigurer 中设置了从数据库中设置 clients oauth_client_details 表中数据如下

表中设置 resource_ids 有 user-server,shop-server

每个服务有不同的 resourceId ,导致有一个问题是

在新增新的服务(im-server)的时候,已经签发的 token 中没有新增服务的 resourceId ,导致这部分用户访问新的服务时提示错误

{
  "error": "access_denied",
  "error_description": "Invalid token does not contain resource id (im-server)"
}

这个 resourceIds 是不是不应该这样设置?

1363 次点击
所在节点    程序员
2 条回复
leaves615
2023-01-08 14:58:20 +08:00
oauth 的 resourceId 是用于逻辑资源权限管理。 我认为不应该被用于微服务程序标记。
如果一定要这样的话,新上线一个微服务就主动注销现有 token ,使之失效。强制重新获取。
xuanbg
2023-01-08 23:30:13 +08:00
自己写个 OAuth 服务吧,这个不像注册中心、网关、链路追踪这些,是第一层次的抽象。OAuth 涉及到了用户管理,是做不到完全抽象的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/907335

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX