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






Я тоже занимаюсь этим. Я тоже работаю над проектом Django, который может использовать Open Id. Ссылки можно найти на:
Надеюсь, кто-то здесь решил эту проблему.
Я использую phpMyID для аутентификации в StackOverflow прямо сейчас. Создает стандартную область HTTP-аутентификации и отлично работает. Это должно быть именно то, что вам нужно.
Почему бы не запустить провайдера OpenID со своего локального компьютера?
Если вы разработчик .Net, существует библиотека провайдера OpenID для .Net по адресу Код Google. Он использует стандартный механизм поставщика профиля .Net и обертывает его слоем OpenID. Мы используем его, чтобы добавить OpenID в наш собственный механизм аутентификации.
Если вы работаете на другом языке / платформе, существует ряд реализаций OpenID, доступных на сайте сообщества OpenID здесь.
Вероятно, вы могли бы использовать библиотеку OpenID django, чтобы написать провайдер для тестирования. Иметь один, который всегда аутентифицируется, и тот, который всегда терпит неудачу.
Проблем тестировать с myopenid.com у меня нет. Я думал, что на моем локальном компьютере возникнут проблемы с тестированием, но это сработало. (Я использую ASP.NET с библиотекой DotNetOpenId).
«Область» и URL-адрес возврата должны содержать номер порта, например «http: // локальный: 93359».
Я предполагаю, что он работает нормально, потому что провайдер выполняет перенаправление на стороне клиента.
У меня была проблема сегодня, когда мое интернет-соединение было отключено. Я не мог войти в разрабатываемое мной приложение. Думаю, это одна из причин наличия локального сервера openId.
У вас не должно возникнуть проблем с разработкой на собственной машине. Какую ошибку вы получаете?
Провайдер OpenID попросит вас предоставить вашему сайту (в данном случае http: // локальный: 8000 или аналогичному) доступ к вашей личности. Если вы нажмете ОК, он перенаправит вас на этот URL. У меня никогда не было проблем с livejournal и я ожидаю, что myopenid.com тоже будет работать.
Если у вас возникли проблемы с локальной разработкой, я предполагаю, что проблема, с которой вы столкнулись, не связана с URL-адресом localhost, а связана с чем-то другим. Без сообщения об ошибке или описания проблемы невозможно сказать больше.
Редактировать: Оказывается, Yahoo действует иначе, чем другие поставщики OpenID, с которыми я сталкивался, и запрещает перенаправление на IP-адрес, сайты без правильного tld в их доменном имени и те, которые работают на портах, отличных от 80 или 443. См. здесь за сообщение от разработчика Yahoo по этой теме. Эта почта предлагает обходной путь, но я бы предположил, что для разработки myopenid.com было бы намного проще, чем работать с Yahoo или использовать собственного провайдера.
Скажем, я ввожу yahoo.com в качестве своего провайдера OpenID, и меня перенаправляют на страницу yahoo, на которой "localhost" пытается аутентифицировать меня, и мне это не нравится. Насколько я понимаю, OpenID заключается в том, что провайдер свяжется с моим сайтом, и поскольку мой сайт не находится в Интернете, он не может работать.
Нет, ваш сайт связывается с провайдером OpenID, который затем аутентифицирует пользователя и перенаправляет обратно на ваш сайт. Мне не известно ни о каких запросах от провайдера к клиентскому сайту. Вам действительно нужно пояснить, что вы имеете в виду под словом «не нравится». Вы пробовали пользоваться услугами другого провайдера, например myopenid.com?
Библиотеки на OpenID включен поставляются с примерами, достаточными для запуска локального поставщика тестов. Посмотрите в каталоге examples / djopenid / дистрибутива исходного кода python-openid. Запуск, который даст вам экземпляр этот провайдер тестов.
Похоже, это будет самый простой способ сделать это, поскольку я уже использую Django. Я просто надеялся на простое приложение командной строки, которое не требует настройки.