Правильная реализация OAuth2 в python
Я реализую OAuth2 в Python: сервер авторизации, сервер ресурсов и клиентское приложение. Я взял сервер аутентификации отсюда. Запустил его, успел получить токен с curl
а также с небольшим клиентским приложением. Теперь я не совсем понимаю, как реализовать сервер ресурсов? Для простоты я сначала попытаюсь написать его код вместе с auth-сервером, но позже, если это сработает, разделить их.
Вот мои вопросы:
- Как я могу получить доступ к ресурсу? Допустим, мое клиентское приложение получило токен. Должен ли я сделать запрос с этим токеном, помещенным в
form
часть запроса? Под каким точным ключом (при условии пары ключ-значение) должен быть этот токен? А как тогда реализовать на стороне сервера? Сервер проверяет токен как-то? Токен хранится в БД или я должен делать это вручную? (также следующий вопрос) - Как реализовать таймаут? Нужно ли кодировать процедуру, которая проверяет, не истек ли токен? Это означало бы, что я тоже должен хранить токен в БД, а также дату, когда он был выпущен, и его продолжительность (тайм-аут). Возможно, это уже делает это для меня?
- Может кто-нибудь сказать мне, как использовать различные "потоки" (поток кода авторизации; неявный поток; поток учетных данных владельца; поток клиента) с этим проектом. Каким-то образом я предполагаю, что они уже закодированы, но мне удалось заставить его работать только одним способом. Код слишком неясен.