def setup_interactive(app): lm = LoginManager() lm.login_view = "login" lm.user_loader(get_user) @lm.unauthorized_handler def unauth(): return "UNAUTHORIZED!" lm.setup_app(app)
def logging_in(app): lm = LoginManager() lm.login_view = "login" lm.user_loader(get_user) lm.setup_app(app) app.preprocess_request() assert not current_user.is_authenticated() assert current_user.is_anonymous() with assert_fired(user_logged_in): login_user(notch) assert current_user.name == u"Notch" assert session["user_id"] == u"1"
import json from urllib import urlencode from urlparse import parse_qs, parse_qsl, urlsplit, urlunsplit from flask import redirect, request, session, url_for from flaskext.login import LoginManager, login_user, logout_user import oauth2 import requests from makerbase import app from makerbase.models import User login_manager = LoginManager() login_manager.setup_app(app, add_context_processor=True) login_manager.user_loader(User.get) @app.route('/signin/github') def signin_github(): try: next_url = request.args['next'] except KeyError: pass else: session['signin_next_url'] = next_url urlparts = urlsplit(request.base_url) params = { 'client_id': app.config['GITHUB_CLIENT_ID'], 'redirect_url': urlunsplit((urlparts.scheme, urlparts.netloc, url_for('complete_github'), None, None)),