Я разрабатываю управление сеансом подключения OpenID для существующего IDP. В спецификации упоминается, что мы должны отправлять состояние сеанса от RP к OP. Мне нужно знать, что на самом деле подразумевается под состоянием сеанса. Также мне нужно знать, что я должен принять в качестве значения соли?
состояние сеанса в OpenID Connect Session Management
Ответы (1)
Это значение состояния сеанса — это то, что предоставляется OP RP в ответе аутентификации во время первоначального входа в систему. Значение непрозрачно для RP, ему просто нужно отслеживать его и отправлять обратно в OP в своих postMessage
вызовах из iframe RP в OP, чтобы OP мог сопоставить его.
Как указано в спецификации на http://openid.net/specs/openid-connect-session-1_0.html#CreatingUpdatingSessions :
Когда OP поддерживает управление сеансом, он ДОЛЖЕН также возвращать состояние сеанса в качестве дополнительного параметра session_state в ответе аутентификации. Ответ аутентификации OpenID Connect указан в разделе 3.1.2.5 OpenID Connect Core 1.0.
Этот параметр:
session_state
Состояние сеанса. Строка JSON, представляющая состояние входа конечного пользователя в OP. Он НЕ ДОЛЖЕН содержать символ пробела ( ). Это значение непрозрачно для RP. Это ТРЕБУЕТСЯ, если поддерживается управление сеансом. Значение состояния сеанса изначально рассчитывается на сервере. То же значение состояния сеанса также пересчитывается iframe OP в клиенте браузера. Генерация подходящих значений состояния сеанса указана в разделе 4.2 и основана на криптографическом хеше с солью идентификатора клиента, URL-адреса источника и состояния браузера OP. В качестве исходного URL-адреса сервер может использовать исходный URL-адрес ответа аутентификации, следуя алгоритму, указанному в разделе 4 RFC 6454 [RFC6454].
session_state
возвращается в качестве параметра запроса в ответе аутентификации.
- person Hans Z.; 09.04.2015