Как при помощи Python реализовать вход на сервер ресурсов(Oauth2.0)?

У меня учебный проект, суть которого такова: есть готовый access token, пришедший от сервера авторизации, который генерируется каждые 5 минут. Нужно с помощью него войти на сервер ресурсов(СР) и получить доступ к защищенным файлам. Токен представляет собой набор символов, для примера обозначим его как 1243545324efedd. Мне нужно написать консольное приложение(или хотя бы близкую к нему модель), которое будет этот токен отправлять на сервер ресурсов. Сам СР выполнен на QT, но я свое приложение пишу на python как наиболее мне знакомый язык.

def github_callback(request):
 # запрос access token
 params = {
 'client_id': '123asd45678a12345678',
 'client_secret': '12345qwert12345qwert12345qwert12345qwert',
 'code': code
 }
 headers = {'accept': 'application/json'}
 url = 'https://github.com/login/oauth/access_token'
 r = requests.post(url, params=params, headers=headers)
 if not r.ok:
 raise Http404
 data = r.json()
 access_token = data['access_token']

 
 # применение access token
headers = {
 'authorization': 'token %s' % access_token
}
r = requests.get('https://api.github.com/user', headers=headers)
r.json()
>>> {
    "aud":"https://consumer.example.com/",
    "iss":"https://issuer.example.com/",
    "exp":1443904177,
    "nbf":1443904077,
    "sub":"dgaf4mvfs75Fci_FL3heQA",
    "scope":"email profile phone address"
}


from github import Github
from django.shortcuts import redirect
from django.contrib.auth import authenticate
from django.contrib.auth import login
from .models import GitHubUser
def github_callback(request):
 # get the token...
 g_user = Github(login_or_token=access_token).get_user()
 user = GitHubUser.objects.create_user(
 login=g_user.login, token=access_token
 )
 user = authenticate(login=user.login)
 login(request, user)
 return redirect('home')


Ответы (0 шт):