OAuth¶
Коммуникация OAuth требует обмена набором ключей для подтверждения подлинности клиента перед одобрением пользователя. Twitter и Facebook облегчают получение этих ключей путем регистрации приложений, Google работает аналогично, но предоставляет возможность для незарегистрированных приложений.
Подробности смотрите в следующих разделах.
Бэкенды OAuth также могут хранить дополнительные данные в поле UserSocialAuth.extra_data
, определяя набор имен значений для извлечения из ответа сервиса.
Настройки выполняются для каждого бэкенда, и его имя динамически проверяется с использованием заглавного имени бэкенда в качестве префикса:
SOCIAL_AUTH_<uppercase backend name>_EXTRA_DATA
Пример:
SOCIAL_AUTH_FACEBOOK_EXTRA_DATA = [(..., ...)]
Настройки должны представлять собой список кортежей, отображающих имя значения в ответе и псевдоним значения, используемый для хранения. Поддерживается третье значение (boolean), его назначение - сигнализировать, следует ли отбрасывать значение, если оно имеет значение False
, это делается для того, чтобы избежать замены старых (нужных) значений, когда они не являются частью текущего ответа. Если значение не присутствует, то этой проверки можно избежать, и значение заменит любые данные.