Пример #1
0
    def execute():
        try:
            auth_session = session['authenticate']
            request_datetime = auth_session['request_datetime']
            token = auth_session['token']
            used = True
        except KeyError:
            request_datetime = datetime.now() - timedelta(
                seconds=int(config.get('AUTH_DATETIME_PADDING')))
            token = request.args.get('token')
            used = False

        query = Token.select().where(Token.token == token,
                                     Token.token.is_null(False),
                                     Token.used == used,
                                     Token.created_date >= request_datetime)

        if not query.exists():
            # Not valid, don't go further
            Session.clear_auth_session()
            return False

        if Session.exists():
            Session.renew_auth_session()
        else:
            Session.create_auth_session(token, request_datetime)
            token = query.get()
            token.used = True
            token.save()

        return True
Пример #2
0
    def clear_auth_session():
        success = True
        try:
            token = session['authenticate']['token']
            token_obj = Token.select().where(Token.token == token).get()
            token_obj.used = True
            token_obj.save()
        except (KeyError, DoesNotExist):
            success = False

        session.pop('authenticate', None)
        return success