Ограниченное использование OpenID - PullRequest
2 голосов
/ 18 февраля 2009

Я собираюсь внедрить OpenID в качестве провайдера для группы партнерских сайтов. Дело в том, что этот сайт предназначен для детей (младше 13 лет), поэтому у меня есть бизнес-ограничения, с которыми необходимо справиться - в основном аккаунт нельзя * использовать на любых сайтах, не являющихся партнерами (мы работаем с каждым утвержденный партнер для обеспечения соответствия отраслевым правилам конфиденциальности / безопасности).

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

Итак, есть ли встроенный способ ограничить доступ OpenID только к некоторым сайтам, или мне нужно было бы сделать некоторые глубокие изменения кода и разрешения для этого?

Ответы [ 3 ]

5 голосов
/ 18 февраля 2009

Да, абсолютно. На основании вашего тега dotnetopenid, я так понимаю, это библиотека, которую вы используете, и это здорово. У входящего в IAuthenticationRequest есть свойство Realm. Используйте это, чтобы убедиться, что значение Realm отображается в вашем белом списке URL-адресов областей партнерских сайтов. Если это произойдет, выполните обычные шаги аутентификации и установите IAuthenticationRequest.IsAuthenticated в true и верните. Если область не распознана, этот

Если у вас есть дополнительные вопросы по вашему конкретному сценарию, пишите по адресу dotnetopenid@googlegroups.com

2 голосов
/ 18 февраля 2009

Все зависит.
Это возможно в протоколе OpenID - это просто вопрос, поддерживает ли ваша библиотека это. Посмотрите в документации и конфигурационных файлах ограничение на разрешения для входа на сайты.
Если вы просто программируете это самостоятельно, это довольно просто - когда вы входите в OpenID, он перенаправляет на ваш сайт, чтобы посмотреть, разрешите ли вы пользователю войти в него. Обычно вы спрашиваете пользователя, но в вашем случае вы можете просмотреть белый список, чтобы убедиться, что он одобрен.

1 голос
/ 18 февраля 2009

Я не реализовал OpenId сам, так что возьмите это с крошкой соли.

Когда я захожу в Yahoo за своим OpenId, он спрашивает меня, действительно ли я хочу, чтобы они предоставили мою личность для stackoverflow.com. На этом этапе провайдеру (например, Yahoo, вам) должно быть легко найти целевой сайт и посмотреть, является ли он утвержденным партнером, и остановить процесс, если это не так.

...