在收到有效的访问令牌后,是否认为最佳做法是调用userinfo
端点调用并检索用户元数据,以便对应用程序的每个后续调用,或者是否应该userinfo
调用一次,并存储用户元数据响应例如,在 cookie 中,以便后续请求从 cookie 读取用户元数据,而不是userinfo
为每个请求调用调用。
问问题
1798 次
1 回答
4
最后,它取决于用例:
在普通消费者用例中,用户信息端点将提供很少更改的信息,并且缓存信息是一个安全的假设。然而,在某些企业用例中,用户信息端点可能会提供用于实时访问控制决策的信息,在这种情况下,缓存信息可能不明智,或者至少不会长时间缓存。
但是您的客户甚至可能不依赖于更改的数据,例如,如果它唯一使用的是持久标识符 ( sub
) 和given_name
/family_name
声明。然后,即使从用户信息端点返回的其他数据可能会随时间变化,您的客户端也不会打扰,而是缓存sub
,given_name
并且family_name
无需再次调用用户信息端点。
此外,声明也可以作为id_token
(例如 incl. first_name
family_name
)的一部分返回,这对于某些用例可能已经足够,因此根本不需要调用用户信息端点。
总之:它取决于从用户信息端点返回的信息类型、客户端对信息的要求以及id_token
.
于 2015-07-20T16:14:00.163 回答