Создание веб-токена Json для DeviceCheck - PullRequest
0 голосов
/ 22 сентября 2018

В настоящее время я написал этот код для создания JWT для взаимодействия с сервером для API-интерфейса DeviceCheck.Я получаю от Apple статус «Невозможно проверить токен авторизации».Есть идеи как исправить?

import jwt
import uuid
import time
import json


def generateToken(certificate, keyID, teamID):
    ALGORITHM = 'ES256'
    token = jwt.encode(
    {
        'iss': teamID,
        'iat': time.time()
    },
    certificate,
    algorithm= ALGORITHM,
    headers={
        'alg': ALGORITHM,
        'kid': keyID,
        }
    )
    return token

def generateDeviceCheckApplePayload(device_token):
    millis = int(round(time.time() * 1000))
    payload = {
    "device_token" : device_token,
    "transaction_id" : str(uuid.uuid4()),
    "timestamp" : millis,
    }
    payload = json.dumps(payload).encode('utf-8')
    return payload

def verifyDeviceWithApple(device_token):
    auth_token = generateToken(settings.CERTIFICATE, 
        settings.KEY_ID, settings.TEAM_ID)
    headers = {
        'Authorization': 'Bearer ' + str(auth_token),
    }
    data = generateDeviceCheckApplePayload(device_token)
    response = requests.post('https://' + settings.HOST + '/v1/validate_device_token', headers=headers, data=data)
    print(response.text)
    return True

1 Ответ

0 голосов
/ 13 марта 2019

Ответ заключается в том, что вам нужно убедиться, что ваш Apple ID был оплачен за

...