Разработвам управление на OpenID свързваща сесия за съществуващ IDP. В спецификацията се споменава, че трябва да изпратим състояние на сесията от RP към OP. Трябва да знам какво наистина се има предвид под състояние на сесия тук. Също така трябва да знам какво трябва да взема като стойност на солта?
състояние на сесията в OpenID Connect Session Management
Отговори (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].
session_state
се връща като параметър на заявката в Отговора за удостоверяване.
- person Hans Z.; 09.04.2015