Ответ 1
Два оговорки в этом ответе сразу:
-
Я хорошо разбираюсь в вашей структуре, urllib и его друзьях, реализация этого все равно займет немного времени. Это не тривиально.
-
Код openid2rp не выглядит все, что угодно, uhm, ready.
Тем не менее. Последнюю версию openid2rp можно перевести с помощью 2to3 для работы на Python 3. Вам нужно будет исправить несколько мелких вещей.
Приведенный пример кода не будет работать, но вы можете использовать его в качестве шаблона для написания вашего приложения. Если вы внимательно относитесь к байтам и строкам, для получения рабочего входа OpenID потребуется менее двух лет. (
Мне удалось перевести его на вишневый. Хотя это не то, что вы ищете, это может быть полезным пособием: http://paste.ubuntu.com/699338/
В качестве примера этот код сохраняется после запуска 2to3:
- mac_key = base64.decodestring(session['mac_key'])
+ mac_key = base64.b64decode(session['mac_key'].encode())
Вы увидите это, когда напишете фактический логин-код.
Это мой __init__.py
. Обратите внимание, что методы, которые я еще не использовал, все еще имеют ошибки! http://paste.ubuntu.com/699354/