Может кто-нибудь объяснить значения возврата ACR в OIDC? - PullRequest
0 голосов
/ 03 октября 2018

См. Окончательные вопросы внизу

Итак, я понимаю основную концепцию значения acr.Я знаю, что это «определяет набор бизнес-правил, которым должна удовлетворять аутентификация. Эти правила часто могут быть выполнены с использованием ряда различных конкретных методов аутентификации, по отдельности или в комбинации».

Однако я запутался в возвращаемом значении.Я знаю, что если я запрашиваю в объеме ответа утверждение acr (как существенное утверждение), я должен указать параметр values ​​для конкретной ссылки на класс контекста аутентификации.

Здесь я запутался.Когда я искал возвращаемые значения acr (ссылка на класс контекста аутентификации), я обнаружил несколько различных профилей LOA, на которые я мог ссылаться (https://www.iana.org/assignments/loa-profiles/loa-profiles.xhtml). Однако, казалось, что только один профиль упоминался в документах OIDC (и связан сСША) - InCommon.

Когда я искал веб-сайт InCommon, мне неясно, требуется ли IdP для сертификации с InCommon, чтобы вернуть значение ACR.

Следующая выдержкавзято с веб-сайта InCommon:

"Как это работает? Сообщество InCommon разработало и опубликовало профили Bronze и Silver, которые определяют конкретные критерии, которым должен соответствовать поставщик удостоверений для получения сертификации. Поставщик удостоверенийВключает эти критерии в свою систему управления идентификацией и доступом. В случае с Bronze провайдер идентификации может либо провести аудит, чтобы подтвердить соответствие профилю, либо просто подписать заявление (самоутверждение), что оно соответствует критериям.аудит, который можетОбычно это делается внутренним аудитором, не связанным напрямую с ИТ-операцией. "


Я также не совсем понимаю, как работает возвращаемое значение, поскольку в документации OIDC приведен пример значения" возвращаемое значение "для acr как:

"acr": {"values": ["urn: mace: incommon: iap: silver"]}

Тем не менее, когда я смотрю на пример возвращаемого значения acrна веб-сайте Microsoft он возвращает значение acr, равное 0.

"acr": "0"


Итак, мои последние вопросы: 1. Может кто-топожалуйста, объясните, требуется ли сертификация IdP (предоставление токена) для предоставления возвращаемого значения acr.2. Возвращаемое значение: «nonmon: iap: silver» или «0»?

1 Ответ

0 голосов
/ 16 июля 2019

Вы можете просматривать значения ACR как набор произвольных значений, с которыми клиент и idp согласились сообщить уровень аутентификации, который произошел.Это сделано для того, чтобы дать клиенту уверенность в квалификации выполненной аутентификации.

Для них нет «официальных» значений.Они должны быть переданы через параметр acr_values_supported ответа обнаружения OIDC.Подробнее об этом см. https://openid.net/specs/openid-connect-discovery-1_0.html (OpenID Connect Discovery 1.0).

Поскольку они не являются обязательными параметрами, существует значительная гибкость в их реализации и интерпретации.В моем понимании, IDP будет выполнять процесс аутентификации на основе предоставленного acr_values в запросе, как он считает нужным.Обычно это означает, что если клиент предоставляет значение, которое понимает IDP, оно будет соблюдаться.Однако если указано неподдерживаемое значение, нет гарантии, что оно будет интерпретировано (и это также не должно приводить к ошибке), и IDP может просто прибегнуть к процессу аутентификации по умолчанию и вернуть соответствующее значение ACR клиенту.

Клиент, с другой стороны, может выбрать проверку поля acr_values в токене ID и решить, действительно ли уровень аутентификации, который прошел, действительно соответствует тому, что клиент должен выполнить.Если так, продолжайте с идентификацией;в противном случае отклоните утверждение личности.

Надеюсь, что оно отвечает на ваш вопрос.

...