SAML: связь между поставщиками услуг? - PullRequest
1 голос
/ 25 октября 2010

Мне было поручено написать SP (Service Provider) для SAML v2.0 в ASP.NET, и мне интересно следующее:

Если пользователь входит в систему на главном SP для службы(где мой SP становится доступным для пользователя в виде якоря / ссылки, если ранее не добавлена ​​закладка), а затем запрашивает доступ к моему SP, как я должен обрабатывать его логин?

Они войдут в систему и авторизируются IdP на главном SP, но как этот SP скажет моему SP, что пользователь вошел в систему?Придется ли мне отправлять новый запрос авторизации в IdP, чтобы определить, вошел ли пользователь в систему или он должен быть передан как данные передачи / перенаправления со строкой запроса от SP?

Я прочитал технический обзор , а также основы , но они не охватывают эту часть.

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

Ответы [ 2 ]

2 голосов
/ 25 октября 2010

Самое простое, что нужно сделать - это заставить "основной SP" создать ссылку, чтобы инициировать единый вход IDP-Init, чтобы пользователи могли войти в ваше приложение. Таким образом, пользователь будет отображаться с новым утверждением от IDP (клиента) к вашему SP.

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

В любом случае, если вы захотите это сделать, вам потребуется обработать несколько вариантов использования и опции для SAML 2.0. Вы можете запустить его в кратчайшие сроки, если хотите проверить партнерскую программу SaaS, предлагаемую Ping Identity. www.pingidentity.com

Дайте мне знать, если вам нужна дополнительная информация о том, что мы видели другие

1 голос
/ 05 ноября 2010

Чтобы выполнить SSO, инициированную SP, вам нужно, чтобы был только один провайдер идентификации, к которому вам, возможно, нужно было бы отправлять запросы аутентификации, или вам нужны какие-то средства определения подходящего провайдера идентификации для конкретного пользователя - либо пользователь должен предоставить некоторую информацию, идентифицирующую IdP (например, как StackOverflow, когда вы хотите войти в систему, используя свой Google или другой идентификатор), либо в URL-адрес может быть что-то встроено. (Для приложения, над которым я работаю, разные клиенты имеют свои собственные доменные сайты, поэтому IdP сопоставляются с ними.)

Так что, да, если вы собираетесь идти по пути, инициированному SP, вам нужно будет сделать запрос аутентификации в IdP, чтобы определить, кто пользователь, и вы захотите использовать RelayState, чтобы вернуть его к первоначально запрашиваемая страница. Если они уже аутентифицированы в IdP, то, скорее всего, этот обмен будет происходить без участия пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...