def invalidate(self, access_token): """ Logout user """ from namespace_models.User import User user = User.objects(email=self.email_from_token(access_token)).first() if not user: return False AccessToken.objects(user=user).delete() return True
def profile(email=None): if email: # TODO: RBAC here if email != AccessToken().email_from_token(from_params_or_json(request, 'access_token')): return error(response, 'access_denied', 'You cannot access another user\'s profile') else: email = AccessToken().email_from_token(from_params_or_json(request, 'access_token')) try: return {'user': User.objects(email=email).first().email} except (ValidationError, NotUniqueError) as e: return error(response, 'server_error', e.message) except OAuth2Error as e: message = dict(e.message) response.status = message.pop('status_code') return message
def token_from_email(email): """ Returns the last generated access_token, else None """ from namespace_models.User import User return AccessToken.objects(user=User.objects(email=email).first()).first()