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

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

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

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
39
0
3 022
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

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

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

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

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

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

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

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

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

d4nt 06.10.2008 00:24

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

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

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

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

tpower 13.10.2008 00:17

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

Провайдер 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 заключается в том, что провайдер свяжется с моим сайтом, и поскольку мой сайт не находится в Интернете, он не может работать.

d4nt 06.10.2008 00:22

Нет, ваш сайт связывается с провайдером OpenID, который затем аутентифицирует пользователя и перенаправляет обратно на ваш сайт. Мне не известно ни о каких запросах от провайдера к клиентскому сайту. Вам действительно нужно пояснить, что вы имеете в виду под словом «не нравится». Вы пробовали пользоваться услугами другого провайдера, например myopenid.com?

Andrew Wilkinson 06.10.2008 01:38
openid.net/specs/openid-authentication-2_0.html#rp_discovery There is an optional component of OpenID 2.0 in which the provider will contact your site, and Yahoo does this. But it's not a requirement for all providers.
keturn 09.10.2008 03:13
Ответ принят как подходящий

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

Другие вопросы по теме