I have 2 Flask apps (different projects) that work together . One implements some API which uses tokens for auth. The second one consumes the API and makes a web interface for it. Now I have a login function that sends the username and password to the API, and if correct, gets the auth token in return. Once I have the token, I save it to the session of the user and the user should now be considered as logged in/ autheticated.
Here is my login function -
def login(self):
response = make_request(BASE_URL + 'login/', clean_data(self.data))
if response.status_code == 200:
session['auth_token'] = response.json().get('auth_token')
return True
return False
Also I am using Redis to store sessions if that matters. I have made the following login_required decorator -
def login_required(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if session.get('auth_token') is None:
return redirect(url_for('login', next=request.url))
return f(*args, **kwargs)
return decorated_function
While it does work, I'm not sure if this is the best way to make that decorator. Any suggestions would be helpful.