Пример #1
0
def getBearerToken(auth_code):
    token_endpoint = getDiscoveryDocument.token_endpoint
    auth_header = 'Basic ' + stringToBase64(settings.CLIENT_ID + ':' +
                                            settings.CLIENT_SECRET)
    headers = {
        'Accept': 'application/json',
        'content-type': 'application/x-www-form-urlencoded',
        'Authorization': auth_header
    }
    payload = {
        'code': auth_code,
        'redirect_uri': settings.REDIRECT_URI,
        'grant_type': 'authorization_code'
    }
    r = requests.post(token_endpoint, data=payload, headers=headers)
    if r.status_code != 200:
        return r.text
    bearer_raw = json.loads(r.text)

    if 'id_token' in bearer_raw:
        idToken = idToken = bearer_raw['id_token']
    else:
        idToken = None

    return Bearer(bearer_raw['x_refresh_token_expires_in'],
                  bearer_raw['access_token'],
                  bearer_raw['token_type'],
                  bearer_raw['refresh_token'],
                  bearer_raw['expires_in'],
                  idToken=idToken)
Пример #2
0
def getBearerTokenFromRefreshToken(refresh_Token):
    token_endpoint = getDiscoveryDocument.token_endpoint
    auth_header = 'Basic ' + stringToBase64(settings.CLIENT_ID + ':' +
                                            settings.CLIENT_SECRET)
    headers = {
        'Accept': 'application/json',
        'content-type': 'application/x-www-form-urlencoded',
        'Authorization': auth_header
    }
    payload = {'refresh_token': refresh_Token, 'grant_type': 'refresh_token'}

    r = requests.post(token_endpoint, data=payload, headers=headers)
    bearer_raw = json.loads(r.text)

    if 'id_token' in bearer_raw:
        idToken = bearer_raw['id_token']
    else:
        idToken = None
    print(bearer_raw)
    return Bearer(bearer_raw['x_refresh_token_expires_in'],
                  bearer_raw['access_token'],
                  bearer_raw['token_type'],
                  bearer_raw['refresh_token'],
                  bearer_raw['expires_in'],
                  idToken=idToken)