Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# -*- coding: utf-8 -*- # Copyright 2007, 2008, 2009 by Benoît Chesneau <benoitc@e-engura.org> # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #
except ImportError: import md5 _md5 = md5.new
self.max_nonce_age = 6 * 60 * 60 # Six hours
assoc = Association( server_url=server_url, handle=association.handle, secret=base64.encodestring(association.secret), issued=association.issued, lifetime=association.lifetime, assoc_type=association.assoc_type ) assoc.save()
assocs = [] if handle is not None: assocs = Association.objects.filter( server_url=server_url, handle=handle ) else: assocs = Association.objects.filter( server_url=server_url ) if not assocs: return None associations = [] expired = [] for assoc in assocs: association = OIDAssociation( assoc.handle, base64.decodestring(assoc.secret), assoc.issued, assoc.lifetime, assoc.assoc_type ) if association.getExpiresIn() == 0: expired.append(assoc) else: associations.append((association.issued, association))
for assoc in expired: assoc.delete() if not associations: return None associations.sort() return associations[-1][1]
assocs = list(Association.objects.filter( server_url=server_url, handle=handle )) assocs_exist = len(assocs) > 0 for assoc in assocs: assoc.delete() return assocs_exist
if abs(timestamp - time.time()) > openid.store.nonce.SKEW: return False
query = [ Q(server_url__exact=server_url), Q(timestamp__exact=timestamp), Q(salt__exact=salt), ] try: ononce = Nonce.objects.get(reduce(operator.and_, query)) except Nonce.DoesNotExist: ononce = Nonce( server_url=server_url, timestamp=timestamp, salt=salt ) ononce.save() return True
return False
if _now is None: _now = int(time.time()) expired = Nonce.objects.filter(timestamp__lt=(_now - openid.store.nonce.SKEW)) count = expired.count() if count: expired.delete() return count
now = int(time.time()) expired = Association.objects.extra( where=['issued + lifetime < %d' % now]) count = expired.count() if count: expired.delete() return count
# Use first AUTH_KEY_LEN characters of md5 hash of SECRET_KEY return _md5(settings.SECRET_KEY).hexdigest()[:self.AUTH_KEY_LEN]
return False |