2015-07-20 49 views
1

一旦接收到有效的访问令牌,是否调用对userinfo端点的调用以及检索用户元数据,对于您的应用程序的每个后续调用,或者如果调用userinfo而不是调用userinfo被调用一次,并且用户元数据响应存储在例如cookie中,使得随后的请求从cookie中读取用户元数据,而不是为每个请求调用对userinfo的调用。OpenID Connect UserInfo端点用法

回答

1

在这取决于使用情况下结束:

在普通消费者使用的情况下,用户信息端点将提供很少更改的信息,这将是一个安全的假设缓存信息。但是,在某些企业用例中,用户信息端点可能会提供用于实时访问控制决策的信息,在这种情况下,缓存信息可能不明智,或者至少不会很长。

但是,您的客户甚至可能不会依赖于例如如果它唯一使用的是持久标识符(sub)和given_name/family_name声明。然后,即使从用户信息端点返回的其他数据可能随时间而改变,您的客户端也不会打扰,而是缓存sub,given_namefamily_name,而无需再次调用用户信息端点。另外,权利要求还可以作为id_token(例如包括first_namefamily_name)的一部分返回,这对于一些使用情况可能是足够的,因此完全不需要调用用户信息端点。

总结:它取决于从用户信息端点返回的信息类型,客户对信息的要求以及id_token中已有的信息。