Django - временно сохранить токен запроса для потока OAuth 1.0a
Для потока Twitter OAuth 1.0a требуется authenticated request token
обменяться с access token
в consumer or client
сторона после user
подтвердил подлинность
Проблема, с которой я сталкиваюсь, заключается в том, что генерация access token
потребности authenticated request token
, request token secret
а также verifier
но ответ от oauth/authentication
API не имеет request token secret
, Так как мне временно сохранить секретный токен запроса из oauth/request_token
вызов API, чтобы я мог использовать его в oauth/access_token
вызов API.
Я нашел некоторые решения из моих исследований, таких как Запуск сервера кэша (Memcached, Redis) или использование функции сессии django. Но все они кажутся излишними для этой задачи.
Я надеюсь найти более простое решение.
1 ответ
Я уверен, что вы уже давно поняли это, но только для будущих гулеров: я решил пойти по более низкому техническому маршруту и создать класс токенов OAuth, который включает поля для извлеченного токена и токена доступа. Обычно я беру извлеченный токен, сохраняю его, затем вызываю его при доступе (как это происходит в другом представлении) и затем сохраняю токен доступа. Один раз (если) это успешно, чем я удаляю извлеченный токен.
Вероятно, есть более привлекательный способ сделать это, но если вы сообразительны с вашим соглашением об именах, вы можете легко сохранить их (например, добавить CharField для провайдера и просто сохранить извлеченный токен как twitter_fetched, а токен доступа как просто twitter),
Это дает дополнительное преимущество, позволяя вам создавать OAuth1 или OAuth1Session из сохраненного токена доступа.