состояние сеанса в OpenID Connect Session Management

Я разрабатываю управление сеансом подключения OpenID для существующего IDP. В спецификации упоминается, что мы должны отправлять состояние сеанса от RP к OP. Мне нужно знать, что на самом деле подразумевается под состоянием сеанса. Также мне нужно знать, что я должен принять в качестве значения соли?


person Hasanthi    schedule 05.04.2015    source источник


Ответы (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].

person Hans Z.    schedule 06.04.2015
comment
«Это значение состояния сеанса предоставляется OP». Насколько я понимаю, это должен быть файл cookie. В противном случае, как мы можем разделить его и получить из него значение соли. И мне нужно знать, какова ценность соли здесь. Это просто случайное значение? - person Hasanthi; 09.04.2015
comment
если OP поддерживает управление сеансом, значение session_state возвращается в качестве параметра запроса в ответе аутентификации. - person Hans Z.; 09.04.2015
comment
Хорошо, Ганс, но каким будет значение session_state? Будет ли он содержать такие данные, как OP, зарегистрирован или нет - person Hasanthi; 09.04.2015
comment
что-то в этом роде, но в любом случае это не предназначено для интерпретации RP; это непрозрачно для RP, которому просто нужно передать его обратно OP для целей корреляции. - person Hans Z.; 09.04.2015
comment
Кто-нибудь может дать определение ОП? Я думаю, что меня путают с определением IDF. - person Nathan Tregillus; 31.03.2016