aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/route_manager.py
diff options
context:
space:
mode:
authorGravatar Nate the great <[email protected]>2018-03-29 04:52:29 -0400
committerGravatar Gareth Coles <[email protected]>2018-03-29 09:52:29 +0100
commit1889f3248ae83cc773a5443c6ba0f62834d73b7b (patch)
tree7603d1da7f64006075cf3a8b58548e1a49ca6840 /pysite/route_manager.py
parentReorder resources.json (diff)
Oauth (#45)
* Creating a OAUTH login for the site. We still need to have a way to fill in credentials however. Signed-off-by: Zwork101 <[email protected]> * How ya like me now Travis? Signed-off-by: Zwork101 <[email protected]> * Fix slight error in database insertion * Revert "Fix slight error in database insertion" (wrong branch) This reverts commit 9ac6cbb * Don't have snekchek working, but I'll try again. Signed-off-by: Zwork101 <[email protected]> * Please enter the commit message for your changes. Lines starting * Adding Oauth2 login to site. * Add prefix * Add prefix * This never happened * Flipping Travis I still can't get snekchek to work locally. * Added a whole bunch of stuff, ready to be used. Signed-off-by: Zwork101 <[email protected]> * Making sessions more secure, and future safe. Signed-off-by: Zwork101 <[email protected]> * Adding some quick stuff Signed-off-by: Zwork101 <[email protected]> * Appease the flake8 gods Signed-off-by: Zwork101 <[email protected]> * Appease the flake8 gods Signed-off-by: Zwork101 <[email protected]> * Whoops Signed-off-by: Zwork101 <[email protected]> * Add comments, fix user_data function. Signed-off-by: Zwork101 <[email protected]> * Whooops, forgot to flake :/ Signed-off-by: Zwork101 <[email protected]> * Make it look nicer, thanks Aperture. Signed-off-by: Zwork101 <[email protected]> * Fixing login issues and added button * Add a OauthMixin to allow for easy data access. Clean stuff up. Signed-off-by: Zwork101 <[email protected]> * Fix a test, and use self.assertEqual rather then self.assertEquals! Signed-off-by: Zwork101 <[email protected]> * Please don't ask how that happened. Signed-off-by: Zwork101 <[email protected]> * Added some tests, moved a bunch of stuff around. Mainly cleaned stuff up. Signed-off-by: Zwork101 <[email protected]> * Add a ton of tests, try to please the coverall gods :D, moved some code into a function for testing. Signed-off-by: Zwork101 <[email protected]> * Just some stupid stuff I missed. Signed-off-by: Zwork101 <[email protected]> * Fix an issue with the test, and add docs Signed-off-by: Zwork101 <[email protected]> * Remove pointless function. (join_user) Signed-off-by: Zwork101 <[email protected]> * Fix test consistency
Diffstat (limited to 'pysite/route_manager.py')
-rw-r--r--pysite/route_manager.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/pysite/route_manager.py b/pysite/route_manager.py
index 72517a3c..9ecd3ced 100644
--- a/pysite/route_manager.py
+++ b/pysite/route_manager.py
@@ -5,10 +5,15 @@ import logging
import os
from flask import Blueprint, Flask
+from flask_dance.contrib.discord import make_discord_blueprint
from flask_sockets import Sockets
from pysite.base_route import APIView, BaseView, ErrorView, RouteView
+from pysite.constants import (
+ DISCORD_OAUTH_ID, DISCORD_OAUTH_SCOPE, DISCORD_OAUTH_SECRET, DISCORD_OAUTH_REDIRECT, DISCORD_OAUTH_AUTHORIZED
+)
from pysite.database import RethinkDB
+from pysite.oauth import OauthBackend
from pysite.websockets import WS
TEMPLATES_PATH = "../templates"
@@ -31,6 +36,21 @@ class RouteManager:
self.app.before_request(self.db.before_request)
self.app.teardown_request(self.db.teardown_request)
+ # Load the oauth blueprint
+ self.oauth_backend = OauthBackend(self)
+ self.oauth_blueprint = make_discord_blueprint(
+ DISCORD_OAUTH_ID,
+ DISCORD_OAUTH_SECRET,
+ DISCORD_OAUTH_SCOPE,
+ '/',
+ login_url=DISCORD_OAUTH_REDIRECT,
+ authorized_url=DISCORD_OAUTH_AUTHORIZED,
+ backend=self.oauth_backend
+ )
+ self.log.debug(f"Loading Blueprint: {self.oauth_blueprint.name}")
+ self.app.register_blueprint(self.oauth_blueprint)
+ self.log.debug("")
+
# Load the main blueprint
self.main_blueprint = Blueprint("main", __name__)
self.log.debug(f"Loading Blueprint: {self.main_blueprint.name}")