OpenID в wsgi с Python 3

Я раньше не делал проверку подлинности, но хотел бы иметь возможность отслеживать и проверять подлинность пользователей через openID. Я видел пару модулей, которые допускают проверку подлинности openID с помощью WSGI, но все они старые, и никто не упоминает python3, поэтому я предполагаю, что они не работают.

Я хотел бы предложить некоторые рекомендации относительно того, как обрабатывать/проверять подлинность openID в WSGI и python3. Было бы оценено простую реализацию.

Ответ 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/