Да, есть возможность аутентификации с использованием OpenID из скрипта, хотя это немного сложнее, чем вы думаете, если вы не привыкли к рабочему процессу OpenID.
Просто вспомнил, что OpenID - это тримеханизм аутентификации.Участвуют три стороны:
- Конечный пользователь OpenID: ваш скрипт на Python
- Потребитель OpenID: веб-сервер, обслуживающий ресурсы
- Поставщик удостоверений OpenID:где вы проходите аутентификацию (например, MyOpenID, Yahoo и т. д.)
Важно: Вся цель рабочего процесса OpenID состоит в том, что вы никогда, никогда не обмениваетесьпароль от веб-сервера, который предоставляет ресурс (# 2)!Вы должны войти на другой веб-сайт (например, MyOpenID), чтобы подтвердить свою личность.
Таким образом, ключом к реализации рабочего процесса OpenID как части сценария является использование инструмента веб-автоматизацииэто управляет куки и следует за перенаправлениями.Mechanize for Python] 1 - инструмент высокого уровня, который удобно реализует большую часть этой типичной логики User Agen (браузера).
Имейте в виду, что когда-то веб-сервер (#2) перенаправляет User Agent (# 1) на веб-сайт Identity Provider (# 3), там будут задействованы некоторые сценарии Identity Provider.Этот сценарий для конкретного провайдера обычно используется для ввода комбинации имени пользователя и пароля, чтобы доказать, что вы являетесь владельцем идентификационного URL.
Как только это будет сделано, провайдер идентификации (# 3) перенаправит ваш пользовательский агент обратно навеб-сервер (# 2), после чего веб-сервер будет обслуживать ресурс (или перенаправит вас на URL, который обслуживает запрошенный ресурс).
Итак, если у вас есть объект высокого уровня, который реализуетбольшая часть типичной логики User Agent (например, перенаправления и куки), остальное должно быть довольно простым.