2009-02-18 2 views
2

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

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

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

ответ

5

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

Если у вас есть дополнительные вопросы по вашему конкретному сценарию, не стесняйтесь отправлять по электронной почте [email protected]

1

Я не реализовал OpenId самостоятельно, поэтому возьмите это с солью.

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

2

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

Смежные вопросы