flask user authentication code example

Example 1: check if user log in flask

from flask_login import current_user

@app.route(...)
def your_route():
    return current_user.is_authenticated

Example 2: flask authentication user without database

class User(UserMixin):

    def __init__(self, username, hash):
        self.name = username
        self.hash = hash

    @property
    def id(self):
        return self.name


@self.server.route('/api/login', methods=['GET', 'POST'])
def login():
    user = load_user(request.values.get('username'))
    if user and user.hash == request.values.get('hash'):
        login_user(user)
        return jsonify(status='ok', username=user.username)
    else:
        return jsonify(status='error', message='wrong username or hash')

Example 3: jwt authentication python flask

HTTP/1.1 200 OK
Content-Type: application/json

{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudGl0eSI6MSwiaWF0IjoxNDQ0OTE3NjQwLCJuYmYiOjE0NDQ5MTc2NDAsImV4cCI6MTQ0NDkxNzk0MH0.KPmI6WSjRjlpzecPvs3q_T3cJQvAgJvaQAPtk1abC_E"
}

Example 4: flask user create account at

<p><i class="fa fa-fw fa-calendar"></i>Create account at {{ user.create_account.strftime('%Y-%m-%d') }}</p>