Example #1
0
def init():
    global security
    
    app.config['SECURITY_CONFIRMABLE'] = not app.config['MAIL_SUPPRESS_SEND']
    app.config['SECURITY_CHANGEABLE'] = True
    app.config['SECURITY_SEND_PASSWORD_CHANGE_EMAIL'] = not app.config['MAIL_SUPPRESS_SEND']
    app.config['SECURITY_POST_CHANGE_VIEW'] = "profile.html"
    app.config['SECURITY_PASSWORD_HASH'] = "bcrypt"
    app.config['SECURITY_MSG_CONFIRMATION_REQUIRED'] = (
            Markup('Email requires confirmation. <a href="/confirm">Resend confirmation instructions</a>.'), 
            'error')
    # This comes from config: app.config['SECURITY_REGISTERABLE']

    # Update all salts with SECRET_KEY if they are not set
    secret_key = app.config['SECRET_KEY']
    for salt in ('SECURITY_PASSWORD_SALT', 'SECURITY_CONFIRM_SALT', 
            'SECURITY_RESET_SALT', 'SECURITY_LOGIN_SALT', 
            'SECURITY_REMEMBER_SALT'):
        app.config[salt] = app.config.get(salt, secret_key)

    app.config['SECURITY_EMAIL_SENDER'] = app.config['MAIL_DEFAULT_SENDER']

    app.config['SECURITY_POST_LOGIN_VIEW'] = "/"

    security = Security(app, CustomUserDatastore(), 
            login_form=CustomLoginForm,
            register_form=CustomRegisterForm,
            confirm_register_form=CustomRegisterForm)

    security.send_mail_task(send_security_mail)
Example #2
0
def _conf_security_mongo(app):
    '''Flask-Security MongoDB'''
    
    from flask_security import Security, MongoEngineUserDatastore
    from flask_social_blueprint.core import SocialBlueprint
    from shortener_url.backends.mongo import models

    extensions.login.init_app(app)
    extensions.login.login_view = "/login"
    
    security = Security()
    datastore = MongoEngineUserDatastore(app.db, models.User, models.Role)
    security = security.init_app(app, datastore)
    security.send_mail_task(_send_mail)
    
    SocialBlueprint.init_bp(app, models.SocialConnection, url_prefix="/_social")

    #@app.before_first_request
    #def before_first_request():
    #    for m in [models.User, models.Role, models.SocialConnection]:
    #        m.drop_collection()

    @extensions.login.user_loader
    def load_user(user_id):
        return models.User.objects(_id=user_id)
Example #3
0
def init():
    global security
    
    app.config['SECURITY_CONFIRMABLE'] = not app.config['MAIL_SUPPRESS_SEND']
    app.config['SECURITY_CHANGEABLE'] = True
    app.config['SECURITY_SEND_PASSWORD_CHANGE_EMAIL'] = not app.config['MAIL_SUPPRESS_SEND']
    app.config['SECURITY_POST_CHANGE_VIEW'] = "profile.html"
    app.config['SECURITY_PASSWORD_HASH'] = "bcrypt"
    app.config['SECURITY_MSG_CONFIRMATION_REQUIRED'] = (
            Markup('Email requires confirmation. <a href="/confirm">Resend confirmation instructions</a>.'), 
            'error')
    # This comes from config: app.config['SECURITY_REGISTERABLE']

    # Update all salts with SECRET_KEY if they are not set
    secret_key = app.config['SECRET_KEY']
    for salt in ('SECURITY_PASSWORD_SALT', 'SECURITY_CONFIRM_SALT', 
            'SECURITY_RESET_SALT', 'SECURITY_LOGIN_SALT', 
            'SECURITY_REMEMBER_SALT'):
        app.config[salt] = app.config.get(salt, secret_key)

    app.config['SECURITY_EMAIL_SENDER'] = app.config['MAIL_DEFAULT_SENDER']

    app.config['SECURITY_POST_LOGIN_VIEW'] = "/"

    security = Security(app, CustomUserDatastore(), 
            login_form=CustomLoginForm,
            register_form=CustomRegisterForm,
            confirm_register_form=CustomRegisterForm)

    security.send_mail_task(send_security_mail)

    if app.config['SECURITY_CONFIRMABLE'] and app.config['NEW_USER_NOTIFICATION']:
        user_confirmed.connect(new_user_notification, app)
def init_app(app):
    from flask_login import LoginManager
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = "/login"

    # Setup Flask-Security
    security = Security()
    security = security.init_app(app, AppEngineUserDatastore(User, Role))
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix="/_social")
Example #5
0
def init_app(app):
    from flask_login import LoginManager
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = "/login"

    # Setup Flask-Security
    security = Security()
    security = security.init_app(app, AppEngineUserDatastore(User, Role))
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix="/_social")
Example #6
0
def init_app(app):

	# Flask-Login
	# https://flask-login.readthedocs.org/en/latest/
    from flask_login import LoginManager
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = "/login"

    # Setup Flask-Security
    security = Security()
    security = security.init_app(app, SQLAlchemyUserDatastore(db, User, Role))
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix="/_social")
Example #7
0
def init_app(app):

    # Flask-Login
    # https://flask-login.readthedocs.org/en/latest/
    from flask_login import LoginManager
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = "/login"

    # Setup Flask-Security
    security = Security()
    security = security.init_app(app, SQLAlchemyUserDatastore(db, User, Role))
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix="/_social")
Example #8
0
def init_app(app):
    from flask_login import LoginManager
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = "/login"

    # Setup Flask-Security
    from flask_security.forms import ChangePasswordForm
    security = Security()
    security = security.init_app(app,
                                 SQLAlchemyUserDatastore(db, User, Role),
                                 change_password_form=ChangePasswordForm)
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix="/auth")
Example #9
0
def init_app(app):
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = '/login'

    # Setup Flask-Security
    security = Security()
    security = security.init_app(app, MongoEngineUserDatastore(db, User, Role))
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix='/_social')

    state = app.extensions['security']
    state.render_template = render_template
    app.extensions['security'] = state
Example #10
0
def init():
    global security

    app.config["SECURITY_CONFIRMABLE"] = not app.config["MAIL_SUPPRESS_SEND"]
    app.config["SECURITY_CHANGEABLE"] = True
    app.config["SECURITY_SEND_PASSWORD_CHANGE_EMAIL"] = not app.config["MAIL_SUPPRESS_SEND"]
    app.config["SECURITY_POST_CHANGE_VIEW"] = "profile.html"
    app.config["SECURITY_PASSWORD_HASH"] = "bcrypt"
    app.config["SECURITY_MSG_CONFIRMATION_REQUIRED"] = (
        Markup('Email requires confirmation. <a href="/confirm">Resend confirmation instructions</a>.'),
        "error",
    )
    # This comes from config: app.config['SECURITY_REGISTERABLE']

    # Update all salts with SECRET_KEY if they are not set
    secret_key = app.config["SECRET_KEY"]
    for salt in (
        "SECURITY_PASSWORD_SALT",
        "SECURITY_CONFIRM_SALT",
        "SECURITY_RESET_SALT",
        "SECURITY_LOGIN_SALT",
        "SECURITY_REMEMBER_SALT",
    ):
        app.config[salt] = app.config.get(salt, secret_key)

    app.config["SECURITY_EMAIL_SENDER"] = app.config["MAIL_DEFAULT_SENDER"]

    app.config["SECURITY_POST_LOGIN_VIEW"] = "/"

    security = Security(
        app,
        CustomUserDatastore(),
        login_form=CustomLoginForm,
        register_form=CustomRegisterForm,
        confirm_register_form=CustomRegisterForm,
    )

    security.send_mail_task(send_security_mail)

    if app.config["SECURITY_CONFIRMABLE"] and app.config["NEW_USER_NOTIFICATION"]:
        user_confirmed.connect(new_user_notification, app)
def init_app(app):

    # Flask-Login
    # https://flask-login.readthedocs.org/en/latest/
    from flask_login import LoginManager
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = "/login"

    # Setup Flask-Security
    security = Security()
    security = security.init_app(app, MongoEngineUserDatastore(db, User, Role))
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix="/_social")

    @app.before_first_request
    def before_first_request():
        for m in [User, Role, SocialConnection]:
            m.drop_collection()
def init_app(app):

    # Flask-Login
    # https://flask-login.readthedocs.org/en/latest/
    from flask_login import LoginManager
    login_manager = LoginManager()
    login_manager.init_app(app)
    login_manager.user_loader(load_user)
    login_manager.login_view = "/login"

    # Setup Flask-Security
    security = Security()
    security = security.init_app(app, MongoEngineUserDatastore(db, User, Role))
    security.send_mail_task(send_mail)

    from flask_social_blueprint.core import SocialBlueprint
    SocialBlueprint.init_bp(app, SocialConnection, url_prefix="/_social")

    @app.before_first_request
    def before_first_request():
        for m in [User, Role, SocialConnection]:
            m.drop_collection()
Example #13
0
def init():
    global security

    app.config['SECURITY_REGISTERABLE'] = True
    app.config['SECURITY_CONFIRMABLE'] = True
    app.config['SECURITY_PASSWORD_HASH'] = "bcrypt"
    
    # Update all salts with SECRET_KEY if they are not set
    secret_key = app.config['SECRET_KEY']
    for salt in ('SECURITY_PASSWORD_SALT', 'SECURITY_CONFIRM_SALT', 
            'SECURITY_RESET_SALT', 'SECURITY_LOGIN_SALT', 
            'SECURITY_REMEMBER_SALT'):
        app.config[salt] = app.config.get(salt, secret_key)

    app.config['SECURITY_EMAIL_SENDER'] = app.config['MAIL_DEFAULT_SENDER']

    app.config['SECURITY_POST_LOGIN_VIEW'] = "/pledge.html"

    security = Security(app, IcoinUserDatastore(), 
            confirm_register_form=IcoinRegisterForm)

    security.send_mail_task(send_security_mail)
Example #14
0
from flask_nav.elements import Navbar, View, Subgroup, Link, Text, Separator
from flask_nav import Nav
from markupsafe import escape
from flask_bootstrap import __version__ as FLASK_BOOTSTRAP_VERSION
import datetime

import timesheet
nav = Nav()
nav.init_app(app)

#security_app.init_app(app)
# Override Flask-Mail for Google App Engine by using the hook in :class:`flask_security.core._SecurityState`
user_datastore = NDBUserDatastore(User, Role)
security = Security(app, user_datastore)

security.send_mail_task(send_email)

admin_app.init_app(app)
#timesheet_app.init_app(app)
add_default_views(admin_app)

nav.register_element(
    'console',
    Navbar(View('Dashboard', 'timesheet.view'),
           View('Hours History', 'timesheet.history'),
           View('Logout', 'security.logout')))
nav.register_element(
    'admin_console',
    Navbar(View('Admin Console', 'admin.index'),
           View('Dashboard', 'timesheet.admin_dashboard'),
           View('Logout', 'security.logout')))