Поддельный провайдер Open ID для тестирования - PullRequest
6 голосов
/ 02 июля 2011

Как и SO, я буду зависеть от многих провайдеров Open ID для обеспечения аутентификации пользователя, и я буду использовать свои собственные методы авторизации. но я все еще на стадии разработки и не хочу работать с реальными провайдерами OpenID, какой подход я могу использовать для тестирования моих пользователей и их действий на веб-сайте (без TDD), чтобы эмулировать реальных пользователей, но не действительно используйте провайдеров Open ID.

Нет необходимости автоматически переносить пользователей на реальные серверы OpenID (при переходе в рабочий режим), поскольку текущие пользователи только для целей тестирования и кода Unit-test.

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

Использование C # .Net 4, ASP.Net MVC 3, Ninject

Ответы [ 3 ]

6 голосов
/ 02 июля 2011

DotNetOpenAuth предоставляет как серверную, так и клиентскую части OpenID и может использоваться для запуска собственного поставщика OpenID для локального тестирования.

  • Предоставьте свой сайтимеют собственные OpenID с поддержкой провайдера, включенной в эту библиотеку.

  • Примеры веб-сайтов проверяющей стороны и провайдера показывают, как это сделать.

3 голосов
/ 02 июля 2011

Я просто регистрирую свой идентификатор теста в качестве пользователя в различных организациях.Я не вижу в этом ничего плохого.Я вижу различные ответы и их различия.

Я обнаружил, что код для openid-пользователя ужасно простПросто нужно понять последовательность ответов.Нарисуйте диаграмму последовательности UML, чтобы помочь вам понять, прежде чем начать кодирование.Не нужно подделывать openId.В противном случае, взломайте сервер openid.

1 голос
/ 02 июля 2011

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

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

...