Авторизация SAML с обновлением подтверждения - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь добавить авторизацию в SAML как часть реализации IDP, используя Профили подтверждения носителя SAML 2.0 для OAuth 2.0

Здесь утверждение SAML заменяется токеном доступа Oauth2.Согласно спецификации, единственный токен доступа должен быть возвращен в обмен на утверждение SAML, а токен обновления не должен возвращаться.Ниже приведено упоминание в спецификации, касающейся обновления токена доступа (RFC7521)

. Утверждение, используемое в этом контексте, обычно представляет собой кратковременное представление разрешения авторизации, и серверам авторизации НЕ СЛЕДУЕТ выдавать токены доступа.со сроком службы, который превышает срок действия подтверждения на значительный период.На практике это обычно будет означать, что токены обновления не выдаются в ответ на запросы о предоставлении утверждений, а токены доступа будут выдаваться с достаточно коротким сроком службы.Клиенты могут обновить маркер доступа с истекшим сроком действия, запросив новый, используя то же утверждение, если оно все еще действует, или с новым утверждением.

Теперь, если маркер доступа истек, клиент может получить новыйтокен доступа в обмен на утверждение, если утверждение все еще действует, но как получить утверждение, если срок его действия истек?Если мы повторно инициируем поток единого входа, то подтверждение будет предоставлено URL-адресу ACS (службы подтверждения пользователей), что приведет к смещению с текущего экрана для активного пользователя.Это может вызвать проблему, если у пользователя есть несохраненные действия на странице.

Как я могу предоставить Утверждение в качестве ответа на запрос?Есть ли в SAML какое-либо положение, позволяющее расширить утверждение напрямую через один вызов IDP?

1 Ответ

0 голосов
/ 03 апреля 2019

Вы не можете «расширить» существующее утверждение, вам нужно будет попросить IdP о новом.

Рабочий процесс, при котором новый токен запрашивается через существующее утверждение, встречается редко, но технически возможен, если вы можете удержать утверждение после его выдачи.Для этого потребуется промежуточный шаг / компонент между IdP, который выдает утверждение, и клиент oAuth, что, безусловно, возможно в ряде архитектур решений.

Обновление маркера с истекшим сроком действия через новое утверждение будетбыть гораздо более распространенным вариантом реализации.

...