def get_user(request): """Create a User object for annotator-store""" userid = request.authenticated_userid if userid is not None: consumer = auth.Consumer(request.client.client_id) return auth.User(userid, consumer, False) return None
def request_user(self, request): userid = None if request.json: userid = request.json.get('user', userid) return auth.User(userid, auth.Consumer('key'), False)
def get_consumer(request, key): inst = Consumer.get_by_key(request, key) # Coerce types so elasticsearch doesn't choke on the UUIDs. # TODO: Can we add magic to .models.GUID to take care of this? result = auth.Consumer(str(key)) result.secret = str(inst.secret) result.ttl = inst.ttl return result
def request_user(self, _flask_request): key = self.settings['api.key'] secret = self.settings.get('api.secret') ttl = self.settings.get('api.ttl', auth.DEFAULT_TTL) consumer = auth.Consumer(key) if secret is not None: consumer.secret = secret consumer.ttl = ttl userid = self.request.authenticated_userid if userid is not None: return auth.User(userid, consumer, False) return None
def authenticate_client(self, request): key = self.settings['api.key'] secret = self.settings.get('api.secret') ttl = self.settings.get('api.ttl', auth.DEFAULT_TTL) if secret is not None: consumer = auth.Consumer(key) consumer.secret = secret consumer.ttl = ttl else: consumer = get_consumer(self.request, key) request.client = consumer request.client.client_id = key request.client_id = key return True