gpt4 book ai didi

oauth - 我应该验证 JWT 两次(在 API 网关和服务本身中)吗?

转载 作者:行者123 更新时间:2023-12-05 05:58:23 25 4
gpt4 key购买 nike

我目前正在为我们的服务设置 API 网关。 API 网关处理 token 验证(通过 OpenID Connect)。如果 token 有效,请求只会路由到目标后端服务。

然后我还应该在后端服务本身中验证 token 吗?该服务需要来自 token 的信息来修改数据库查询(仅读取用户被允许的资源)。但这意味着我必须再次验证 token ,对吗?

这是最佳做法吗?我忽略了什么吗?在这种情况下,在 API 网关验证 token 是否有意义?

最佳答案

我遇到了同样的问题,经过一番研究,我意识到调用 IdP 两次是合理的(一次来自 API 网关,一次来自其背后的 API 服务)。

对于来自 API 网关的调用,它会对调用者进行身份验证,以确保调用者持有有效的 token 。这在 API 网关模式中似乎是必要的。

对于后端API服务的调用,可选。如果 token (例如 JWT)本身包含足够的用户信息用于授权或其他与用户相关的用户案例,则不需要调用 IdP(因为网关确保 token 有效,因此不需要自省(introspection))。但是,它也可以使用 token 从后端 API 服务调用 IdP 的 userinfo endpoint 以检索其他需求信息,或根据您自己的用例对 IdP 进行其他调用。

综上所述,api网关模式中不需要两次验证token,但不禁止使用相同的token调用两次IdP。

关于oauth - 我应该验证 JWT 两次(在 API 网关和服务本身中)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68525623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com