Значение соли в OpenID Connect Session Management

Я использую https://openid.net/specs/openid-connect-session-1_0.html для разработки управления сеансами openid connect. Согласно спецификации, мы должны разделить session_state, чтобы получить значение соли на стороне iframe OP, как показано ниже.

`var salt = session_state.split('.')[1];`

Но значение session_state, которое я получаю от RP, является значением String a. Он не содержит "." Итак, что мне нужно знать, нужно ли передавать значение соли из RP в OP в формате 'session_state.salt'? В противном случае, как я могу отделить значение session_state от '.'? Меня немного смущает значение соли. Любая помощь высоко ценится.


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


Ответы (1)


session_state - это значение для целей управления сеансом, которое генерируется OP и передается RP в ответе начальной аутентификации. OP получает это значение обратно с помощью iframe OP, который обслуживается RP, но указывает на контент, который обслуживается OP. В ненормативном образце используется соль и знак "." характер, но это зависит от реализации и никоим образом не является чем-то, что известно RP.

IOW. OP возвращает значение, которое он сгенерировал сам, и знает, что с ним делать. Кажется, вы предполагаете, что iframe OP содержит контент, который генерирует RP, но это не так.

person Hans Z.    schedule 25.05.2015
comment
Я передаю cookie (который создается, когда OP находится в состоянии входа в систему) от OP к RP в ответе на аутентификацию. И я отправляю тот же файл cookie, что и переменная session_state, из RP в OP. Из OP у меня есть прямой доступ к cookie. Итак, я планирую сравнить файл cookie, который я получил от RP как session_state, с файлом cookie, который я прочитал непосредственно из OP без использования каких-либо значений соли. Мой подход правильный? Пожалуйста, посоветуйте мне это. Спасибо - person Hasanthi; 25.05.2015
comment
предполагая, что вы хотите иметь дело с несколькими RP, что не является хорошим способом реализации session_state: идентификатор клиента и исходный URL-адрес должны быть добавлены в расчет состояния сеанса; почему бы не остановиться на ненормативном примере? - person Hans Z.; 25.05.2015