Использование библиотеки OpenID Python - PullRequest
3 голосов
/ 21 января 2010

Может кто-нибудь объяснить мне шаги, используя библиотеку openid, которая упоминается здесь. Я импортировал весь пакет janrain openid в мою программу, но я не могу понять фактический поток кода.

Процесс должен в основном следовать этому плану:

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

Во-первых, приложение должно создать экземпляр Consumer с сеансом для пользовательского состояния и сохранить для общего состояния. используя магазин по выбору.

Затем приложение должно вызвать метод begin в экземпляре Consumer. Этот метод принимает OpenID URL. Метод begin возвращает объект AuthRequest.

Затем приложение должно вызвать метод redirectURL для объекта AuthRequest. Параметр return_to - это URL-адрес, на который сервер OpenID отправит пользователя обратно после попытки подтвердить его или ее личность. Параметр области - это URL (или шаблон URL), который идентифицирует ваш веб-сайт для пользователя, когда он или она авторизует его. Отправьте перенаправление на полученный URL в браузер пользователя.

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

Когда это произойдет, пользователь свяжется с вашим сайтом по URL-адресу, указанному как URL-адрес return_to для вызова redirectURL, сделанного выше. Запрос будет иметь несколько параметров запроса, добавленных к URL провайдером OpenID в качестве информации, необходимой для завершения запроса.

Получите экземпляр Consumer с тем же сеансом и сохраните его, как прежде, и вызовите его полный метод, передав все полученные аргументы запроса.

Существует несколько возможных типов возврата из этого метода. Они указывают, был ли вход успешным, и включают любую дополнительную информацию, соответствующую их типу.

1 Ответ

0 голосов
/ 20 января 2012

web.py включает в себя модуль webopenid , который реализует полную, хотя и базовую, систему аутентификации OpenID с использованием Janrain. Используя включенный класс host, вы можете добавить аутентификацию на основе OpenID в ваш проект. Однако для получения извлечения интересных данных от поставщика OpenID вам необходимо добавить обработку запросов и ответов AX и SReg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...