mirror of
https://git.wownero.com/wownero/YellWOWPages.git
synced 2024-08-15 01:03:25 +00:00
28 lines
741 B
Python
28 lines
741 B
Python
import peewee
|
|
from quart import session, redirect, url_for
|
|
|
|
from yellow.factory import openid
|
|
from yellow.models import User
|
|
|
|
|
|
@openid.after_token()
|
|
async def handle_user_login(resp: dict):
|
|
access_token = resp["access_token"]
|
|
openid.verify_token(access_token)
|
|
|
|
user = await openid.user_info(access_token)
|
|
username = user['preferred_username']
|
|
uid = user['sub']
|
|
|
|
try:
|
|
user = User.select().where(User.id == uid).get()
|
|
except peewee.DoesNotExist:
|
|
user = None
|
|
|
|
if not user:
|
|
# create new user if it does not exist yet
|
|
user = User.create(id=uid, username=username)
|
|
|
|
# user is now logged in
|
|
session['user'] = user.to_json()
|
|
return redirect(url_for('bp_routes.dashboard'))
|