Как конвертировать Postman OAuth 2.0 в Python - PullRequest
0 голосов
/ 18 марта 2019

У меня возникает проблема, когда я пытаюсь конвертировать Postman OAuth 2.0 в Python3. Я пытался исследовать, но мне кажется, что мне не повезло, я не нашел ни одного примера Вот мой код:

from rauth import OAuth2Service
import json

def get_token(client_id, client_secret):
    access_token = None

    service = OAuth2Service(
        name="Viafoura",
        client_id=client_id,
        client_secret=client_secret,
        access_token_url='https://auth.viafoura.io/authorize_client'
    )

    data = {
            'scope': 'xxxxx-xxxx-xxxx-xxxx-xxxxx',
            'grant_type': 'client_credentials'
        }

    session = service.get_auth_session(data=data)

    access_token = session

Вот OAuth 2.0 на Почтальоне, и он работает:

enter image description here

Я хочу получить access_token через Python3. Может ли кто-нибудь помочь мне в этом?

1 Ответ

2 голосов
/ 18 марта 2019

Может быть, это может вам помочь, пример с базовым алгоритмом OAuth2

#!/usr/bin/python3
# -*- coding: utf-8 -*-

from requests import post, auth
from json import loads

    if __name__ == '__main__':

    client_id = ''
    client_secret = ''
    user = ''
    password = ''

    access_point = 'https://account.fiware.org/oauth2/token'
    grant_type = 'password'

    headers = {'Content-Type': 'application/x-www-form-urlencoded'}

    auth = auth.HTTPBasicAuth(client_id, client_secret)

    data = {'grant_type': grant_type,
            'username': user,
            'password': password}

    resp = post(access_point, auth=auth, data=data, headers=headers, timeout=5)
    resp = loads(resp.text)
    print(resp['access_token'])

Вам нужно исправить точку доступа, тип предоставления.

Извините, я не могу помочь напрямую с библиотекой Viafoura и OAuth2Service.

...