fix 500s on login pages
This commit is contained in:
parent
917202de1d
commit
82a72bfd32
|
@ -205,15 +205,15 @@ def mastodon_login_step1(instance=None):
|
||||||
instance_url=instance_url, _external=True)
|
instance_url=instance_url, _external=True)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
app = libforget.mastodon.get_or_create_app(
|
mastoapp = libforget.mastodon.get_or_create_app(
|
||||||
instance_url,
|
instance_url,
|
||||||
callback,
|
callback,
|
||||||
url_for('index', _external=True))
|
url_for('index', _external=True))
|
||||||
db.session.merge(app)
|
db.session.merge(mastoapp)
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
return redirect(libforget.mastodon.login_url(app, callback))
|
return redirect(libforget.mastodon.login_url(mastoapp, callback))
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
if sentry:
|
if sentry:
|
||||||
|
@ -224,14 +224,14 @@ def mastodon_login_step1(instance=None):
|
||||||
@app.route('/login/mastodon/callback/<instance_url>')
|
@app.route('/login/mastodon/callback/<instance_url>')
|
||||||
def mastodon_login_step2(instance_url):
|
def mastodon_login_step2(instance_url):
|
||||||
code = request.args.get('code', None)
|
code = request.args.get('code', None)
|
||||||
app = MastodonApp.query.get(instance_url)
|
mastoapp = MastodonApp.query.get(instance_url)
|
||||||
if not code or not app:
|
if not code or not mastoapp:
|
||||||
return redirect(url_for('mastodon_login_step1', error=True))
|
return redirect(url_for('mastodon_login_step1', error=True))
|
||||||
|
|
||||||
callback = url_for('mastodon_login_step2',
|
callback = url_for('mastodon_login_step2',
|
||||||
instance_url=instance_url, _external=True)
|
instance_url=instance_url, _external=True)
|
||||||
|
|
||||||
token = libforget.mastodon.receive_code(code, app, callback)
|
token = libforget.mastodon.receive_code(code, mastoapp, callback)
|
||||||
account = token.account
|
account = token.account
|
||||||
|
|
||||||
session = login(account.id)
|
session = login(account.id)
|
||||||
|
@ -269,16 +269,16 @@ def misskey_login(instance=None):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
session = make_session()
|
session = make_session()
|
||||||
app = libforget.misskey.get_or_create_app(
|
mkapp = libforget.misskey.get_or_create_app(
|
||||||
instance_url,
|
instance_url,
|
||||||
callback,
|
callback,
|
||||||
url_for('index', _external=True),
|
url_for('index', _external=True),
|
||||||
session)
|
session)
|
||||||
db.session.merge(app)
|
db.session.merge(mkapp)
|
||||||
|
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
return redirect(libforget.misskey.login_url(app, callback, session))
|
return redirect(libforget.misskey.login_url(mkapp, callback, session))
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
if sentry:
|
if sentry:
|
||||||
|
@ -290,11 +290,11 @@ def misskey_login(instance=None):
|
||||||
def misskey_callback(instance_url):
|
def misskey_callback(instance_url):
|
||||||
# legacy auth and miauth use different parameter names
|
# legacy auth and miauth use different parameter names
|
||||||
token = request.args.get('token', None) or request.args.get('session', None)
|
token = request.args.get('token', None) or request.args.get('session', None)
|
||||||
app = MisskeyApp.query.get(instance_url)
|
mkapp = MisskeyApp.query.get(instance_url)
|
||||||
if not token or not app:
|
if not token or not mkapp:
|
||||||
return redirect(url_for('misskey_login', error=True))
|
return redirect(url_for('misskey_login', error=True))
|
||||||
|
|
||||||
token = libforget.misskey.receive_token(token, app)
|
token = libforget.misskey.receive_token(token, mkapp)
|
||||||
account = token.account
|
account = token.account
|
||||||
|
|
||||||
session = login(account.id)
|
session = login(account.id)
|
||||||
|
|
Loading…
Reference in New Issue