Как вы разрабатываете против OpenID локально

35

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

Существует ли такой сервер OpenID dev? Это лучший способ сделать это?

Теги:
openid

7 ответов

14
Лучший ответ

Библиотеки в OpenID Enabled поставляются с примерами, достаточными для запуска локального поставщика тестов. Посмотрите в каталоге examples/djopenid/каталога источника python-openid. Запустив это, вы получите экземпляр этого поставщика тестов.

9

У меня нет проблем с тестированием myopenid.com. Я думал, что будет проблема с тестированием на моей локальной машине, но это просто сработало. (Я использую ASP.NET с библиотекой DotNetOpenId).

"Царство" и возвращаемый url должны содержать номер порта, например " http://localhost:93359 '.

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

  • 2
    У меня была проблема сегодня, когда мое интернет-соединение было отключено. Я не мог войти в приложение, которое я разрабатывал. Думаю, это одна из причин наличия локального сервера openId.
3

Вероятно, вы можете использовать библиотеку OpenID django для написания провайдера для тестирования. Имейте один, который всегда аутентифицируется и тот, который всегда терпит неудачу.

  • 0
    Похоже, это будет самый простой способ сделать это, так как я уже использую Django. Я просто надеялся на простое приложение командной строки, которое не требовало настройки.
3

Я использую phpMyID для аутентификации в StackOverflow прямо сейчас. Создает стандартную область HTTP auth и работает отлично. Это должно быть именно то, что вам нужно.

3

Я также изучаю это. Я тоже работаю над проектом Django, который может использовать Open Id. Для справки:

Надеюсь, кто-то здесь занялся этой проблемой.

1

У вас не должно возникнуть проблем с разработкой вашей собственной машины. Какая ошибка вы получаете?

Поставщик OpenID попросит вас предоставить ваш сайт (в данном случае http://localhost:8000 или аналогичный) доступ к вашей личности. Если вы нажмете ОК, то он перенаправит вам этот URL-адрес. У меня никогда не было проблем с livejournal, и я ожидаю, что myopenid.com тоже будет работать.

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

Изменить. Оказывается, что Yahoo делает что-то по-другому с другими провайдерами OpenID, с которыми я столкнулся, и запретил перенаправления на ip-адрес, сайты без правильного tld в их доменном имени и те, которые запускаются на портах, отличных от 80 или 443. См. здесь для сообщения от разработчика Yahoo по этому вопросу. Этот пост предлагает работу, но я бы предположил, что для разработки myopenid.com будет намного проще, чем работать с Yahoo или запускать собственные провайдера.

  • 0
    Допустим, я ввожу yahoo.com в качестве своего провайдера OpenID, и меня перенаправляют на страницу yahoo, где «localhost» пытается аутентифицировать меня, и ему это не нравится. Насколько я понимаю, OpenID заключается в том, что провайдер свяжется с моим сайтом, и поскольку мой сайт не в сети, он не может работать.
  • 0
    Нет, ваш сайт связывается с поставщиком OpenID, который затем аутентифицирует пользователя и перенаправляет обратно на ваш сайт. Я не знаю ни одного запроса от провайдера на сайт клиента. Вы действительно должны быть более ясными в том, что вы подразумеваете под «не нравится». Вы пробовали другого провайдера, такого как myopenid.com?
Показать ещё 1 комментарий
1

Почему бы не запустить поставщик OpenID с локальной машины?

Если вы являетесь разработчиком .Net, есть библиотека поставщиков OpenID для .Net в Google Code. Это использует стандартный механизм поставщика профайлов .Net и обертывает его слоем OpenID. Мы используем его для добавления OpenID в наш собственный механизм проверки подлинности.

Если вы работаете на другом языке/платформе, существует ряд программ OpenID, доступных на сайте сообщества OpenID здесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню