Причина такого поведения - введение областей утверждений OpenIDConnect в 5.2.0. Итак, в основном, когда вы запрашиваете токен OIDC, вы можете указать значение области, привязанное к набору утверждений. Поэтому, когда вы отправляете этот токен OIDC в конечную точку userinfo, будут возвращены только те утверждения, которые являются общими как в конфигурации области OIDC, так и в конфигурации утверждения SP (т. Е. Пересечение утверждения в обеих этих конфигурациях).
Давайте возьмем пример, рассмотрим требуемую область действия по умолчанию, необходимую для получения токена OIDC, который является 'openid'.
Область действия openid привязана к следующим схемам.
sub, email, email_verified, name, family_name, given_name, middle_name, псевдоним, предпочтительное_имя пользователя, профиль, изображение, веб-сайт, пол, дата рождения, zoneinfo, locale, updated_at, phone_number, phone_number_verified, address, street
(вы можете настроить это, используя файл oidc, который находится в реестре в / _system / config / oidc)
Поэтому в вашем случае добавьте пользовательские утверждения slotCentreURL, role, slotCentre в сопоставленные утверждения для этой области, отредактировав файл oidc.
В качестве альтернативы вы можете добавить новую область, скажем, "customSPScope1" с утверждениями, которые вам нужны, отправить ее при получении токена OIDC в дополнение к обязательной области openid.
Вам также необходимо настроить необходимые утверждения в конфигурации поставщика услуг. Логика здесь заключается в том, что возвращается только пересечение утверждений, настроенных на уровне области OIDC, и утверждений, настроенных на уровне SP.
person
farasath
schedule
14.10.2016