Утверждение SAML с именем пользователя/паролем - на что действительно похожи сообщения?

Это по причинам оптимизации.

диапазон () создаст список значений от запуска для окончания (0.. 20 в Вашем примере). Это станет дорогой операцией на очень больших спектрах.

xrange (), с другой стороны, намного более оптимизирован. это только вычислит следующее значение при необходимости (через объект последовательности xrange) и не создает список всех значений как диапазон (), делает.

11
задан Bob Aman 20 September 2009 в 00:39
поделиться

1 ответ

Я не уверен, что ваш вариант использования полностью совпадает с тем, что делает SAML 2.0.

То, что вы описываете как свои бизнес-правила, на самом деле выглядит как вариант использования для обеспечения идентификации, а не доступа

Стандартные варианты использования SAML 2.0 сфокусированы на том, что одна сторона утверждает идентичность (провайдер идентификации), а другая сторона (или стороны) полагается на эти утверждения (поставщик услуг). Утверждения несут так называемый идентификатор имени, использование которого согласовывается заранее между поставщиком удостоверений и поставщиком услуг.

Эти идентификаторы имени могут быть практически любыми, но в целом они делятся на две категории: временные и постоянные. Идентификатор временного имени полезен только в контексте текущего сеанса (и по сути только говорит: «Я знаю, кто этот человек» ) и, как правило, используется для защиты личности принципала, разрешая при этом привилегированный доступ определенного типа. Постоянный идентификатор может быть либо непрозрачным (аналогично тому, как OpenID используется для доступа к SO), когда подтверждающая сторона может повторно проверять идентичность принципа, не раскрывая свою идентичность, при этом поддерживая динамический, но стабильный общий идентификатор между подтверждающей и полагающейся сторонами, либо более существенные, такие как имя участника-пользователя Active Directory (которое может быть согласовано заранее).

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

В контексте вашего вопроса важно то, что SAML 2.0 не предоставляет способ либо создать локальную учетную запись пользователя «приложения», либо связать эту локальную учетную запись пользователя с федеративным удостоверением. Это просто не та проблема, которую пытается решить SAML 2.0.

А теперь вернемся к вашим бизнес-правилам ...

Мне кажется, что вы пытаетесь сделать либо привязку учетной записи, либо регистрацию - я бы подошел это выглядит так:

  • Пользователь посещает приложение, нажимает кнопку, чтобы использовать удостоверение от поставщика удостоверений.
  • Приложение создает запрос аутентификации и направляет пользователя к поставщику удостоверений, перенос этого запроса аутентификации
  • Провайдер идентификации либо входит в систему пользователя, либо повторно использует существующий сеанс идентификации, если он у пользователя есть. IdP выдает ответное сообщение, содержащее утверждение о пользователе. В вашем случае это утверждение должно содержать как минимум постоянный идентификатор имени. Провайдер идентификации направляет пользователя обратно в приложение с ответным сообщением.
  • Приложение обрабатывает ответное сообщение. Если существует запись сопоставления для переданного постоянного идентификатора, пользователь распознается по этому сопоставлению и входит в систему как пользователь локального приложения. Если запись сопоставления не существует, пользователю может быть предложено выполнить локальный вход, и при успешном локальном входе в систему может быть создана запись сопоставления, или учетная запись пользователя может быть создана автоматически, и пользователю может быть предложено ввести дополнительную информацию (имена, адреса электронной почты и т. д.) «Корпоративным» вариантом использования будет то, что автоматическое связывание или создание учетных записей не допускается и что сопоставление должно существовать заранее.

Что касается содержания сообщений ...

Технический комитет служб безопасности OASIS имеет доступный для загрузки zip-файл с обширной документацией по частям XML-схемы, включая примеры. Также стоит прочитать документацию по протоколу и профилю, поскольку они описывают поток сообщений между сторонами, участвующими в разговоре об идентичности.

Вокруг плавает большое количество презентаций, которые я считаю очень полезными. В частности, SAML v2.0 Basics от Eve Maler помог мне начать понимать, какие проблемы SAML v2.0 пытается решить. Эта презентация включает примеры того, как выглядят утверждения. Обновленная презентация и ссылки на дополнительные ресурсы на saml.xml.org .

Я не уверен, что это поможет, поскольку ваш вариант использования, похоже, не подходит что пытается сделать SAML 2.0. При необходимости вы можете добавлять атрибуты и расширения к запросам и ответам, но я не вижу, чтобы многие поставщики удостоверений что-либо делали с этими атрибутами и ответами.

27
ответ дан 3 December 2019 в 03:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: