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

Разработвам управление на OpenID свързваща сесия за съществуващ IDP. В спецификацията се споменава, че трябва да изпратим състояние на сесията от RP към OP. Трябва да знам какво наистина се има предвид под състояние на сесия тук. Също така трябва да знам какво трябва да взема като стойност на солта?


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


Отговори (1)


Тази стойност на състоянието на сесията е нещо, което се предоставя от OP на RP в отговора за удостоверяване по време на първоначалното влизане. Стойността е непрозрачна за RP, тя просто трябва да я следи и да я изпрати обратно към OP в своите postMessage извиквания от RP iframe към OP, така че OP да може да я корелира.

Както се казва в спецификацията на http://openid.net/specs/openid-connect-session-1_0.html#CreatingUpdatingSessions :

Когато OP поддържа управление на сесии, тя ТРЯБВА също така да върне състоянието на сесията като допълнителен параметър session_state в отговора за удостоверяване. OpenID Connect Authentication Response е посочен в раздел 3.1.2.5 на OpenID Connect Core 1.0.

Този параметър е:

session_state
Състояние на сесията. JSON низ, който представлява състоянието на влизане на крайния потребител в OP. НЕ ТРЯБВА да съдържа знака за интервал ( ). Тази стойност е непрозрачна за RP. Това е ЗАДЪЛЖИТЕЛНО, ако се поддържа управление на сесии. Стойността на състоянието на сесията първоначално се изчислява на сървъра. Същата стойност на състоянието на сесията също се преизчислява от OP iframe в клиента на браузъра. Генерирането на подходящи стойности на състоянието на сесията е посочено в раздел 4.2 и се основава на солиран криптографски хеш на клиентски идентификатор, първоначален URL адрес и състояние на OP браузър. За първоначалния URL адрес сървърът може да използва първоначалния URL адрес на отговора за удостоверяване, следвайки алгоритъма, определен в раздел 4 на RFC 6454 [RFC6454].

person Hans Z.    schedule 06.04.2015
comment
„Тази стойност на състоянието на сесията е нещо, което се предоставя от OP“ Трябва да е бисквитка, доколкото разбирам. Иначе как можем да го разделим и да получим солна стойност от него. И трябва да знам каква е стойността на солта тук. Просто произволна стойност ли е? - 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
Може ли някой да даде определение на OP? Мисля, че го бъркам с дефиницията на IDF. - person Nathan Tregillus; 31.03.2016