Следует ли изменять схему, если сервер не обрабатывает все атрибуты?

Если наш сервер SCIM обрабатывает только небольшое подмножество атрибутов в основной схеме User и игнорирует большинство других атрибутов: должен ли сервер возвращать сокращенную схему, которая отражает то, что поддерживается в конечной точке схемы? Или он должен возвращать полное определение базовой схемы по умолчанию?

И если схема изменена, чтобы отразить то, что на самом деле поддерживает сервер, следует ли ему по-прежнему называться urn:ietf:params:scim:schemas:core:2.0:User или ему нужно другое имя?


person stefanfoulis    schedule 12.09.2019    source источник
comment
stackoverflow.com/questions/48603990/ вроде ответов на этот вопрос   -  person stefanfoulis    schedule 12.09.2019


Ответы (1)


Должен ли сервер возвращать сокращенную схему, которая отражает то, что поддерживается в конечной точке схемы?

да.

Или он должен возвращать полное определение базовой схемы по умолчанию?

No.

Поставщики услуг могут опускать атрибуты и изменять характеристики атрибутов при условии, что это не меняет никаких других требований, изложенных в RFC, и не переопределяет атрибуты. Назначение конечных точек обнаружения, включая «/ Schemas», - предоставить поставщикам услуг возможность указывать свои определения схем.

И если схема изменена, чтобы отразить то, что на самом деле поддерживает сервер, следует ли ему по-прежнему называться urn:ietf:params:scim:schemas:core:2.0:User или ему нужно другое имя?

Если вы соответствуете вышеуказанным критериям, схема должна по-прежнему называться urn:ietf:params:scim:schemas:core:2.0:User. Но вы должны использовать настраиваемые ресурсы и / или расширения для новых атрибутов / ресурсов, не определенных в RFC.

Я согласен с тем, что RFC может быть более ясным по этому поводу, но повсюду есть некоторые подсказки, такие как следующее из Раздел 2:

SCIM поддерживает схему на основе атрибутов, где каждый атрибут может иметь разный тип, изменчивость, количество элементов или возможность возврата. Проверка документов и сообщений всегда выполняется предполагаемым получателем, как указано в спецификациях SCIM. Проверка выполняется получателем в контексте запроса протокола SCIM (см. [RFC7644]). Например, поставщик услуг SCIM, получив запрос на замену существующего ресурса замещающим объектом JSON, оценивает каждый заявленный атрибут на основе его характеристик, определенных в соответствующей схеме (например, изменчивость), и решает, какие атрибуты можно заменить или игнорируется.

Дополнительные ссылки:

person shelley    schedule 11.03.2020