2008-10-05 2 views
35

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

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

ответ

14

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

3

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

Надеюсь, кто-то тут решать эту проблему.

3

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

1

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

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

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

3

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

+0

Похоже, это будет самый простой способ сделать это, поскольку я уже запускаю Django. Я просто надеялся на простое приложение командной строки, которое не получило никакой конфигурации. – d4nt 2008-10-05 20:24:25

9

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

«Царство» и обратный URL должны содержать номер порта, например «http://localhost:93359».

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

+2

У меня была проблема сегодня, когда мое подключение к интернету было отключено. Я не мог войти в приложение, которое я разрабатывал. Я предполагаю, что это одна из причин наличия локального сервера openId. – tpower 2008-10-12 20:17:52

1

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

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

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

Edit: Получается, что Yahoo делать вещи по-разному в других провайдеров OpenID, что я сталкивался и блокирующей переназначения для IP-адреса, сайты без правильного TLD в их доменное имя, и те, которые работают на других, чем порты 80 или 443.См. here за сообщение от разработчика Yahoo по этому вопросу. This post предлагает работу, но я бы предположил, что для разработки myopenid.com будет намного проще, чем работать с Yahoo или запускать собственный провайдер.

+0

Скажем, я печатаю на yahoo.com как мой поставщик OpenID, я получаю направленную на страницу yahoo, которая «localhost» пытается аутентифицировать меня, и ей это не нравится. Мое понимание OpenID заключается в том, что поставщик свяжется с моим сайтом, а мой сайт не работает в Интернете, который не может работать. – d4nt 2008-10-05 20:22:05