summaryrefslogtreecommitdiffstats
path: root/accounts/utils/login.py
blob: 9888e894a4fda5b24113593814224f441c11c611 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# -*- coding: utf-8 -*-
from flask.ext.login import current_user
from functools import wraps
from werkzeug.exceptions import Forbidden
from itsdangerous import base64_decode, base64_encode, compact_json


def create_userid(username, password):
    userid = (username, password)
    return base64_encode(compact_json.dumps(userid))


def parse_userid(value):
    return compact_json.loads(base64_decode(value))


def logout_required(f):
    @wraps(f)
    def logout_required_(*args, **kwargs):
        if current_user.is_authenticated:
            raise Forbidden(u'Diese Seite ist nur für nicht eingeloggte Benutzer gedacht!')
        return f(*args, **kwargs)
    return logout_required_