From 36efff5e17bf1b03697a9acb0a3e3e10ee917af9 Mon Sep 17 00:00:00 2001 From: blockarchitech Date: Fri, 31 Jan 2025 09:56:40 -0700 Subject: [PATCH] chore: disable Facebook auth, add message for existing Facebook users --- auth/login/facebook.py | 44 +++++++++++----------- auth/templates/facebook-not-available.html | 11 ++++++ 2 files changed, 34 insertions(+), 21 deletions(-) create mode 100644 auth/templates/facebook-not-available.html diff --git a/auth/login/facebook.py b/auth/login/facebook.py index 6169bfa..b981254 100644 --- a/auth/login/facebook.py +++ b/auth/login/facebook.py @@ -1,4 +1,4 @@ -from flask import g +from flask import render_template from ..models import db from .base import auth, login_blueprint, complete_auth_flow, secure_url_for, prepare_state, validate_state, get_state @@ -17,23 +17,25 @@ @login_blueprint.route("/facebook") def facebook_auth_start(): - prepare_state() - return facebook.authorize(secure_url_for('.facebook_auth_complete')) - - -@login_blueprint.route("/facebook/complete") -def facebook_auth_complete(): - validate_state() - resp = facebook.authorized_response() - if resp is None or resp.get('access_token') is None: - return 'Failed.' - g.facebook_token = (resp['access_token'], '') - me = facebook.get('me?fields=id,name,email').data - response = complete_auth_flow(facebook.name, me["id"], me["name"], me.get('email', None)) - db.session.commit() - return response - - -@facebook.tokengetter -def get_token(): - return g.facebook_token + # See #32 - Facebook auth disabled due to some weird Facebook issues. + # prepare_state() + # return facebook.authorize(secure_url_for('.facebook_auth_complete')) + return render_template('facebook-not-available.html') + + +# @login_blueprint.route("/facebook/complete") +# def facebook_auth_complete(): +# validate_state() +# resp = facebook.authorized_response() +# if resp is None or resp.get('access_token') is None: +# return 'Failed.' +# g.facebook_token = (resp['access_token'], '') +# me = facebook.get('me?fields=id,name,email').data +# response = complete_auth_flow(facebook.name, me["id"], me["name"], me.get('email', None)) +# db.session.commit() +# return response + + +# @facebook.tokengetter +# def get_token(): +# return g.facebook_token diff --git a/auth/templates/facebook-not-available.html b/auth/templates/facebook-not-available.html new file mode 100644 index 0000000..7c292ed --- /dev/null +++ b/auth/templates/facebook-not-available.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} +{% block body %} +

Facebook authentication is unavailable

+

+ Due to recent changes in Facebook's requirements, we can no longer provide Facebook authentication. +

+

+ If you previously logged in using Facebook, please contact Rebble via email or our Discord server for help getting back into your account. +

+

Try logging in again.

+{% endblock %}