OpenIDConnect会话管理将session_state从RP传递给OP

时间:2015-05-07 08:45:03

标签: openid-connect

我正在实施OIDC会话管理。根据规范“http://openid.net/specs/openid-connect-session-1_0.html#CreatingUpdatingSessions”,我需要将RP iFrame中的“client_id +”“+ session_state”发送到OP iFrame。我应该在这里传递一个json作为session_id,它指示OP的登录状态。在我的OP中,我正在维护一个cookie来存储登录状态。但我无法在RP iFrame中访问它,因为通过不同的域访问cookie是不可能的。那么如何将session_state从RP传递给OP呢?我可以将cookie从OP传递给RP作为帖子消息吗?请就此向我提出建议。 感谢

1 个答案:

答案 0 :(得分:2)

RP在登录时收到OP的session_state值。对于RP,这是一个不透明的值(可能是或不是JSON对象),只需要传递回RP iframe中的OP。

RP通过使用postMessage将其从RP iframe发送到OP iframe,将session_state传达给OP。

请注意RP会同时创建RP iframe和OP iframe。只是OP iframe中的内容由OP提供,因此可以以特定于OP的方式访问/使用/处理cookie值,并且独立于RP和RP iframe。