我目前正在集成Google OAuth,需要验证用户是否创建了新会话或重新使用其现有会话。不幸的是,id_token内的“ amr”似乎总是像 rba 一样被硬编码。由于这个原因,我正在调查session_state是否可以为新的会话建立进行验证或验证。
规格 https://openid.net/specs/openid-connect-session-1_0-16.html#rfc.section.4.1
我能够确认为重新建立的会话新生成了session_state。但是,由于session_state不在id_token内,因此无法验证其真实性。
根据规范,session_state的计算方式为
var ss = CryptoJS.SHA256(client_id +''+ e.origin +''+ opbs + [''+盐])[+“。 +盐];
在那种情况下,有人可以指出我如何获得opb,还是有更好的机制来验证Google OAuth中的新会话建立?