WSO2 IS: пользовательские утверждения OpenID Connect в 5.2.0?

Я установил WSO2 IS 5.2.0, и у меня проблема с получением пользовательских утверждений.

Я добавил новые утверждения к диалекту http://wso2.org/claims, а также добавил новые утверждения, которые сопоставить тот же атрибут с диалектом http://wso2.org/oidc/claim, который работал с версией 5.1 .0, но в версии 5.2.0 не работает.

Все поля присутствуют в таблице атрибутов базы данных. Я использую Oauth2 OpenID connect userInfo для получения пользовательских данных.

Вот конфигурация утверждений для моего поставщика услуг:  введите описание изображения здесь

С этой конфигурацией в 5.1.0 я получил все запрошенные утверждения из изображения, но в 5.2.0 я получаю только утверждения, которые не являются настраиваемыми - которые уже присутствовали в обоих диалектах по умолчанию.


person zarej    schedule 10.10.2016    source источник


Ответы (2)


Причина такого поведения - введение областей утверждений 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
comment
Спасибо, что работает. Означает ли это, что конфигурация заявки для поставщика услуг больше не имеет значения? - person zarej; 16.10.2016
comment
Фактически, окончательный результат - это пересечение заявлений области OIDC и заявлений, настроенных в SP. Так что все же претензии, настроенные в SP, имеют значение :) - person farasath; 18.10.2016
comment
Я также пытаюсь добавить индивидуальное требование, но не работаю. Я добавил атрибут mobile_verified в оба диалекта. Затем отредактировал область действия openid и добавил к ней mobile_verified, но не получил его в ответе userinfo. Как вы нанесли на карту новый прицел? Только что отредактировали openid или создали новую область видимости? Любые изменения в физическом файле? - person Amreesh Tyagi; 07.11.2016
comment
какой атрибут сопоставления вы использовали при добавлении утверждения к обоим диалектам? - person farasath; 07.11.2016

Причиной может быть сопоставленный атрибут. Вам необходимо настроить один и тот же сопоставленный атрибут как в диалекте OIDC, так и в диалекте wso2 для настраиваемых утверждений.

person Community    schedule 12.10.2016
comment
Это не так, у меня одинаковые отображаемые атрибуты в обоих диалектах. Та же самая конфигурация работает на 5.1.0, но не на 5.2.0. - person zarej; 13.10.2016