当前位置: 首页>>代码示例>>Python>>正文


Python identity_changed.send方法代码示例

本文整理汇总了Python中flask_principal.identity_changed.send方法的典型用法代码示例。如果您正苦于以下问题:Python identity_changed.send方法的具体用法?Python identity_changed.send怎么用?Python identity_changed.send使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在flask_principal.identity_changed的用法示例。


在下文中一共展示了identity_changed.send方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: common_login

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def common_login(user_uuid, permanent_session=True):
    """
    Performs login of the given user, with optional non-permanence on the session.

    Returns a tuple with (success, headers to set on success).
    """
    user = model.get_user(user_uuid)
    if user is None:
        return (False, None)

    if login_user(LoginWrappedDBUser(user_uuid)):
        logger.debug("Successfully signed in as user %s with uuid %s", user.username, user_uuid)
        new_identity = QuayDeferredPermissionUser.for_id(user_uuid)
        identity_changed.send(app, identity=new_identity)
        session["login_time"] = datetime.datetime.now()

        if permanent_session and features.PERMANENT_SESSIONS:
            session_timeout_str = app.config.get("SESSION_TIMEOUT", "31d")
            session.permanent = True
            session.permanent_session_lifetime = convert_to_timedelta(session_timeout_str)

        # Force a new CSRF token.
        headers = {}
        headers[QUAY_CSRF_UPDATED_HEADER_NAME] = generate_csrf_token(force=True)
        return (True, headers)

    logger.debug("User could not be logged in, inactive?")
    return (False, None) 
开发者ID:quay,项目名称:quay,代码行数:30,代码来源:common.py

示例2: default_unauthn_handler

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def default_unauthn_handler(mechanisms, headers=None):
    """ Default callback for failures to authenticate

    If caller wants JSON - return 401
    Otherwise - assume caller is html and redirect if possible to a login view.
    We let Flask-Login handle this.

    """
    msg = get_message("UNAUTHENTICATED")[0]

    if config_value("BACKWARDS_COMPAT_UNAUTHN"):
        return _get_unauthenticated_response(headers=headers)
    if _security._want_json(request):
        # Ignore headers since today, the only thing in there might be WWW-Authenticate
        # and we never want to send that in a JSON response (browsers will intercept
        # that and pop up their own login form).
        payload = json_error_response(errors=msg)
        return _security._render_json(payload, 401, None, None)
    return _security.login_manager.unauthorized() 
开发者ID:Flask-Middleware,项目名称:flask-security,代码行数:21,代码来源:decorators.py

示例3: _check_token

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def _check_token():
    # N.B. this isn't great Flask-Login 0.5.0 made this protected
    # Issue https://github.com/maxcountryman/flask-login/issues/471
    # was filed to restore public access. We want to call this via
    # login_manager in case someone has overridden the login_manager which we
    # allow.
    if hasattr(_security.login_manager, "request_callback"):
        # Pre 0.5.0
        user = _security.login_manager.request_callback(request)
    else:
        user = _security.login_manager._request_callback(request)

    if user and user.is_authenticated:
        app = current_app._get_current_object()
        _request_ctx_stack.top.user = user
        identity_changed.send(app, identity=Identity(user.fs_uniquifier))
        return True

    return False 
开发者ID:Flask-Middleware,项目名称:flask-security,代码行数:21,代码来源:decorators.py

示例4: configure_auth

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def configure_auth():
    from zou.app.services import persons_service

    @jwt.token_in_blacklist_loader
    def check_if_token_is_revoked(decrypted_token):
        return auth_tokens_store.is_revoked(decrypted_token)

    @jwt.user_loader_callback_loader
    def add_permissions(callback):
        try:
            user = persons_service.get_current_user()
            if user is not None:
                identity_changed.send(
                    current_app._get_current_object(),
                    identity=Identity(user["id"]),
                )
            return user
        except PersonNotFoundException:
            return None 
开发者ID:cgwire,项目名称:zou,代码行数:21,代码来源:__init__.py

示例5: login

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def login():
    """GET|POST /login: login form handler
    """
    form = LoginForm()
    if form.validate_on_submit():
        # login user
        u = User.query.filter(User.email == form.email.data).first()
        login_user(u, remember=form.remember_me.data)

        # tell flask-principal the identity changed
        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(u.id))

        return redirect(request.args.get('next') or url_for('content.home'))

    return render_template('/auth/login.html', form=form) 
开发者ID:muicss,项目名称:flaskapp,代码行数:18,代码来源:auth.py

示例6: create_account

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def create_account():
    """GET|POST /create-account: create account form handler
    """
    form = CreateAccountForm()
    if form.validate_on_submit():
        # add user to database
        u = User(email=form.email.data,
                 password=generate_password_hash(form.password.data))
        db.session.add(u)
        db.session.flush()

        # send verification email
        send_verification_email(u)

        # login user
        login_user(u, remember=True)
        identity_changed.send(current_app._get_current_object(),
                              identity=Identity(u.id))

        return redirect(request.args.get('next') or url_for('content.home'))

    return render_template('/auth/create-account.html', form=form) 
开发者ID:muicss,项目名称:flaskapp,代码行数:24,代码来源:auth.py

示例7: updateBoxrouterData

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def updateBoxrouterData(self, data):
		if self.cloud_enabled():
			try:
				if data:
					r = requests.put("%s/astrobox/%s/update-boxrouter-data" % (self.apiHost, self.boxId),
						data=json.dumps(data),
						auth=self.hmacAuth,
						headers={'Content-Type': 'application/json'}
					)

					if r.status_code == 200:
						return r.json()
					if r.status_code == 400:
						self._logger.error("Bad updateBoxrouterData request (400). Response: %s" % r.text)
					if r.status_code == 404:
						self._logger.error("Request updateBoxrouterData not found (404). Response: %s" % r.text)
			except Exception as e:
				self._logger.error("Failed to send updateBoxrouterData request: %s" % e)
		return False 
开发者ID:AstroPrint,项目名称:AstroBox,代码行数:21,代码来源:cloud.py

示例8: updateCancelReason

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def updateCancelReason(self, printJobId, reason):
		if (self.cloud_enabled()):
			try:
				r = requests.put("%s/printjobs/%s/add-reason" % (self.apiHost, printJobId),
					data=json.dumps(reason),
					auth=self.hmacAuth,
					headers={'Content-Type': 'application/json'}
				)

				if r.status_code == 200:
					return True

				if r.status_code == 400:
					self._logger.error("Unable to do updateCancelReason (400). Response: %s" % r.text)

				else:
					self._logger.error("updateCancelReason request failed with status: %d" % r.status_code)

			except Exception as e:
				self._logger.error("Failed to send updateCancelReason request: %s" % e)

		return False 
开发者ID:AstroPrint,项目名称:AstroBox,代码行数:24,代码来源:cloud.py

示例9: change_password

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def change_password(self, user, password, send_email=None):
        """
        Service method to change a user's password.

        Sends signal `password_changed`.

        :param user: The :class:`User`'s password to change.
        :param password: The new password.
        :param send_email: Whether or not to override the config option
                           ``SECURITY_SEND_PASSWORD_CHANGED_EMAIL`` and force
                           either sending or not sending an email.
        """
        user.password = password
        self.user_manager.save(user)
        if send_email or (app.config.SECURITY_SEND_PASSWORD_CHANGED_EMAIL
                          and send_email is None):
            self.send_mail(
                _('flask_unchained.bundles.security:email_subject.password_changed_notice'),
                to=user.email,
                template='security/email/password_changed_notice.html',
                user=user)
        password_changed.send(app._get_current_object(), user=user) 
开发者ID:briancappello,项目名称:flask-unchained,代码行数:24,代码来源:security_service.py

示例10: reset_password

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def reset_password(self, user, password):
        """
        Service method to reset a user's password. The same as :meth:`change_password`
        except we this method sends a different notification email.

        Sends signal `password_reset`.

        :param user:
        :param password:
        :return:
        """
        user.password = password
        self.user_manager.save(user)
        if app.config.SECURITY_SEND_PASSWORD_RESET_NOTICE_EMAIL:
            self.send_mail(
                _('flask_unchained.bundles.security:email_subject.password_reset_notice'),
                to=user.email,
                template='security/email/password_reset_notice.html',
                user=user)
        password_reset.send(app._get_current_object(), user=user) 
开发者ID:briancappello,项目名称:flask-unchained,代码行数:22,代码来源:security_service.py

示例11: send_reset_password_instructions

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def send_reset_password_instructions(self, user):
        """
        Sends the reset password instructions email for the specified user.

        Sends signal `reset_password_instructions_sent`.

        :param user: The user to send the instructions to.
        """
        token = self.security_utils_service.generate_reset_password_token(user)
        reset_link = url_for('security_controller.reset_password',
                             token=token, _external=True)
        self.send_mail(
            _('flask_unchained.bundles.security:email_subject.reset_password_instructions'),
            to=user.email,
            template='security/email/reset_password_instructions.html',
            user=user,
            reset_link=reset_link)
        reset_password_instructions_sent.send(app._get_current_object(),
                                              user=user, token=token) 
开发者ID:briancappello,项目名称:flask-unchained,代码行数:21,代码来源:security_service.py

示例12: post

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def post(self):
        if request.form.get('login_github'):
            session['oauth_callback_type'] = 'login'
            return github_auth.github_auth()
            # return 'login_github'

        form = forms.LoginForm(obj=request.form)
        if form.validate():
            try:
                user = models.User.objects.get(username=form.username.data)
            except models.User.DoesNotExist:
                user = None

            if user and user.verify_password(form.password.data):
                login_user(user, form.remember_me.data)
                user.last_login = datetime.datetime.now
                user.save()
                identity_changed.send(current_app._get_current_object(), identity=Identity(user.username))
                return redirect(request.args.get('next') or url_for('main.index'))
            flash('Invalid username or password', 'danger')
        return self.get(form=form) 
开发者ID:GitMarkTeam,项目名称:gitmark,代码行数:23,代码来源:views.py

示例13: logout

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def logout():
    logout_user()
    identity_changed.send(current_app._get_current_object(), identity=AnonymousIdentity())

    return redirect(url_for('.login')) 
开发者ID:Tianny,项目名称:incepiton-mysql,代码行数:7,代码来源:views.py

示例14: api_auth_required

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def api_auth_required(f):
    @wraps(f)
    def wrapper(*args, **kwargs):
        if request.authorization and request.authorization.type == "basic":
            user = user_datastore.find_user(api_key=request.authorization.username)
            if user and user.has_role("developer"):
                _request_ctx_stack.top.user = user
                identity_changed.send(
                    current_app._get_current_object(), identity=Identity(user.id)
                )
                return f(*args, **kwargs)
        abort(401)

    return wrapper 
开发者ID:SynoCommunity,项目名称:spkrepo,代码行数:16,代码来源:api.py

示例15: _check_http_auth

# 需要导入模块: from flask_principal import identity_changed [as 别名]
# 或者: from flask_principal.identity_changed import send [as 别名]
def _check_http_auth():
    auth = request.authorization or BasicAuth(username=None, password=None)
    if not auth.username:
        return False
    user = find_user(auth.username)

    if user and user.verify_and_update_password(auth.password):
        _security.datastore.commit()
        app = current_app._get_current_object()
        _request_ctx_stack.top.user = user
        identity_changed.send(app, identity=Identity(user.fs_uniquifier))
        return True

    return False 
开发者ID:Flask-Middleware,项目名称:flask-security,代码行数:16,代码来源:decorators.py


注:本文中的flask_principal.identity_changed.send方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。