from django.shortcuts import render from django.http import HttpResponse, JsonResponse from django.views.decorators.csrf import csrf_exempt from .models import ASSNotification from django.conf import settings import json, jwt import base64 import logging import logging.config logger = logging.getLogger("main") def index(request): return HttpResponse("Hello, world. You're at the subs index.") def test(request): return HttpResponse("Test succeeded!") @csrf_exempt def app_store_webhook(request): data = request.body.decode('utf-8') # Parse the JSON payload fulljson = json.loads(data) signedPayload = fulljson['signedPayload'] KEY_FILE = settings.ASS_KEY_FILE with open(KEY_FILE,'r') as key_file: key = ''.join(key_file.readlines()) jwt_options = { 'verify_signature': True, 'verify_exp': True, 'verify_nbf': False, 'verify_iat': True, 'verify_aud': False } decodedPayload = jwt.decode(signedPayload, key, algorithms=['ES256'], options=jwt_options) #print('hell yeah!' + str(key)) #logger.debug('test getLogger' + str(key)) notification = ASSNotification( content=decodedPayload, ) notification.save() return JsonResponse({'status': 'success'})