-# -*- coding: utf-8 -*-
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
#
import time
from oauthlib.oauth1 import RequestValidator
-from piston.models import Consumer, Nonce, Token
+from api.models import Consumer, Nonce, Token
class PistonRequestValidator(RequestValidator):
# iOS app generates 8-char nonces.
nonce_length = 8, 250
- # Because piston.models.Token.key is char(18).
+ # Because Token.key is char(18).
request_token_length = 18, 32
access_token_length = 18, 32
# TODO: oauthlib request-access switch.
return request.token.secret
def get_access_token_secret(self, client_key, token, request):
- return request.token.secret
+ if request.token:
+ return request.token.secret
+ else:
+ try:
+ token = Token.objects.get(
+ token_type=Token.ACCESS,
+ consumer__key=client_key,
+ key=token
+ )
+ except: return None
+ return token.secret
def get_default_realms(self, client_key, request):
return ['API']