Here are the examples of the python api flask.session.pop taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
145 Examples
3
Example 1
def handle_token(self):
def wrapper(func):
@wraps(func)
def decorated(*args, **kw):
user_id = self.user_func()
if not user_id:
raise XSRFTokenUserIdInvalid('UserId not valid.')
self.token = XSRFToken(user_id=user_id, secret=self.secret)
# parse the token string..
request_token_string = self.parse_xsrftoken_from_request()
token_string = session.pop(TOKEN_FORM_NAME, None)
# validate the token string..
self.verify_token(token_string, request_token_string)
return func(*args, **kw)
return decorated
return wrapper
3
Example 2
def callback(self):
request_token = session.pop('request_token')
if 'oauth_verifier' not in request.args:
return None, None, None
oauth_session = self.service.get_auth_session(
request_token[0],
request_token[1],
data={'oauth_verifier': request.args['oauth_verifier']}
)
info = oauth_session.get('account/verify_credentials.json').json()
social_id = 'twitter$' + str(info.get('id'))
login = info.get('screen_name')
return social_id, login, None
3
Example 3
@login.route('/logout', methods=['POST'])
@login_required
def logout():
logout_user()
session.pop('google_token', None)
flash('Logged out', 'success')
return redirect(url_for('frontend.index'))
3
Example 4
Project: gae-init Source File: auth.py
def signin_oauth(oauth_app, scheme=None):
try:
flask.session.pop('oauth_token', None)
save_request_params()
return oauth_app.authorize(callback=flask.url_for(
'%s_authorized' % oauth_app.name, _external=True, _scheme=scheme
))
except oauth.OAuthException:
flask.flash(
'Something went wrong with sign in. Please try again.',
category='danger',
)
return flask.redirect(flask.url_for('signin', next=util.get_next_url()))
3
Example 5
def validate_csrf(self, field):
if not self.csrf_enabled or request.is_xhr:
return
csrf_token = session.pop(self.csrf_session_key, None)
is_valid = field.data and \
field.data == csrf_token and \
self.csrf_is_valid is not False
# reset this field, otherwise stale token is displayed
field.data = self.reset_csrf()
# we set this flag to ensure consistent behaviour when
# calling validate() more than once
self.csrf_is_valid = bool(is_valid)
if not is_valid:
raise ValidationError, "Missing or invalid CSRF token"
3
Example 6
Project: burp-ui Source File: sessions.py
def invalidate_current_session(self):
"""Ivalidate current session"""
if 'authenticated' in session:
session.pop('authenticated')
id = getattr(session, 'sid', None)
session.clear()
return self.invalidate_session_by_id(id, False)
3
Example 7
def _getAnswer(self):
# We don't overwrite a previous entry - the original (admin) user should be kept there
session.setdefault('login_as_orig_user', {
'session_data': {k: session.pop(k) for k in session.keys() if k[0] != '_' or k in {'_timezone', '_lang'}},
'user_id': session.user.id,
'user_name': session.user.get_full_name(last_name_first=False, last_name_upper=False)
})
session.user = self._user
session.lang = session.user.settings.get('lang')
session.timezone = timezoneUtils.SessionTZ(self._user.as_avatar).getSessionTZ()
return True
3
Example 8
def post(self):
# note: remove all session entries that are not needed for logged-out
# state (because the code has defaults for them if they are missing).
# if the session is empty. flask will automatically remove the cookie.
session.pop(LOGGEDIN, None)
session.pop(PERMISSIONS, None)
return redirect_next_referrer('bepasty.index')
3
Example 9
Project: redwind Source File: admin.py
@admin.route('/login_associate')
def login_associate():
next_url = request.args.get('next')
cred = Credential.query.get(session.pop('credential'))
session.pop('name')
cred.user = flask_login.current_user
db.session.commit()
return redirect(next_url or '/')
3
Example 10
@app.errorhandler(401)
def not_authorized(error):
if "username" in session:
if "401" in session:
reason = session['401']
session.pop('401', None)
if (reason == 'Token Expired'):
return redirect('/logout/')
return render_template('error/401.html', mysession = session)
else:
return redirect('/login/')
3
Example 11
Project: Simblin Source File: admin.py
@admin.route('/logout')
def logout():
"""Log the admin out"""
session.pop('logged_in', None)
flash('You have been successfully logged out')
#: For automatic redirection to the last visited page before login
next = request.values.get('next', '')
return redirect(next or url_for('main.show_posts'))
3
Example 12
@classmethod
def del_key(cls, k):
"""Matching get method for ``set_key``
"""
k = cls.__name__ + '__' + k
session.pop(k)
3
Example 13
@wraps
def csrf_protect(f):
if request.method == "POST":
token = session.pop('_csrf_token', None)
if not token or token != request.form.get('_csrf_token'):
abort(403)
return f
3
Example 14
@admincraft.route('/logout')
def logout():
# remove the username from the session if its there
session.pop('username', None)
session.pop('password', None)
return redirect(url_for('admincraft.index'))
3
Example 15
Project: WAPT Source File: utils.py
def logout_user():
"""Logs out the current. This will also clean up the remember me cookie if it exists."""
for key in ('identity.name', 'identity.auth_type'):
session.pop(key, None)
identity_changed.send(current_app._get_current_object(),
identity=AnonymousIdentity())
_logout_user()
3
Example 16
@accounts_app.route('/logout/')
def logout():
next = request.args.get('next', '/')
flash(u'Logout successfully', 'success')
session.pop('user_id', None)
return redirect(next)
3
Example 17
def authorize_user(user):
if user is None:
logger.error("Google Auth Failure - attempting to authorize None user")
raise TypeError("Cannot login as None")
login_user(user)
after_login = session.pop('after_login', None)
return redirect(after_login or url_for('student.index'))
3
Example 18
def _request_token(self):
form = ResetPasswordEmailForm()
if form.validate_on_submit():
user = form.user
# The only case where someone would have more than one identity is after a merge.
# And the worst case that can happen here is that we send the user a different
# username than the one he expects. But he still gets back into his profile.
# Showing a list of usernames would be a little bit more user-friendly but less
# secure as we'd expose valid usernames for a specific user to an untrusted person.
identity = next(iter(user.local_identities))
_send_confirmation(form.email.data, 'reset-password', '.resetpass', 'auth/emails/reset_password.txt',
{'user': user, 'username': identity.identifier}, data=identity.id)
session['resetpass_email_sent'] = True
return redirect(url_for('.resetpass'))
return WPAuth.render_template('reset_password.html', form=form, identity=None, widget_attrs={},
email_sent=session.pop('resetpass_email_sent', False))
3
Example 19
def clearAuth():
"""Clear both the Session cookie and any stored token data
"""
if 'indieauth_token' in session:
indieauth_token = session['indieauth_token']
if db is not None:
key = db.get('token-%s' % indieauth_token)
if key:
data = db.hgetall(key)
db.delete(key)
db.delete('token-%s' % indieauth_token)
session.pop('indieauth_token', None)
session.pop('indieauth_scope', None)
session.pop('indieauth_id', None)
3
Example 20
@app.route('/logout')
def logout():
# remove the username from the session if it's there
session.pop('host', None)
return redirect(url_for('index'))
3
Example 21
@blueprint.route('/costars/processing')
@requires_roles('conductor', 'admin', 'superadmin')
def process():
'''Push the filepath and filename into the template to do the upload via ajax
:status 200: render the upload success template
'''
filepath = session.pop('filepath', None)
filename = session.pop('filename', None)
return render_template(
'conductor/upload/upload_success.html', filepath=filepath, filename=filename, _delete=True
)
3
Example 22
@app.route("/add/", methods=("POST",))
def add_comment():
form = CommentForm()
if form.validate_on_submit():
comments = session.pop('comments', [])
comments.append(form.comment.data)
session['comments'] = comments
flash("You have added a new comment")
return redirect(url_for("index"))
return index(form)
3
Example 23
@app.route('/auth', methods=['GET',])
def handleAuth():
app.logger.info('handleAuth [%s]' % request.method)
result = False
if db is not None:
token = request.args.get('token')
if token is not None:
me = db.get('token-%s' % token)
if me:
data = db.hgetall(me)
if data and data['token'] == token:
result = True
if result:
return 'valid', 200
else:
session.pop('indieauth_token', None)
session.pop('indieauth_scope', None)
session.pop('indieauth_id', None)
return 'invalid', 403
3
Example 24
@app.route('/logout', methods=['GET','POST'])
def logout():
for i in ['credentials','gplus_id','logged_in','bypass_csrf'] :
try:
session.pop(i)
except KeyError:
pass
if request.method == "POST":
return make_response(jsonify({'success':'Logged out.'}), 200)
else:
return redirect("/")
3
Example 25
@app.errorhandler(500)
def internal_server_error(error):
logger.error(error)
if "username" in session:
if "500" in session and "500_title" in session:
reason = session['500']
title = session['500_title']
session.pop('500', None)
session.pop('500_title', None)
else:
reason = '''The server encountered something unexpected that didn't allow it to complete the request. We apologize.You can go back to
<a href="/dashboard/">dashboard</a> or <a href="/logout">log out</a>'''
title = 'Internal Server Error'
return render_template('error/500.html', mysession = session, reason = reason, title = title)
else:
return redirect('/login/')
3
Example 26
def csrf_protect(f):
"""Check CSRF."""
@wraps(f)
def decorated(*args, **kwargs):
if request.method == "POST":
token = session.pop('_csrf_token', None)
if not token or token != request.form.get('_csrf_token'):
abort(403)
return f(*args, **kwargs)
return decorated
3
Example 27
@app.route('/logout')
def logout():
"""User logout/authentication/session management."""
session.pop('logged_in', None)
flash('You were logged out')
return redirect(url_for('index'))
3
Example 28
def init_user():
"""Load user if the auth session validates."""
try:
user = _guest
if 'auth' in session:
uid = session['auth']
user = Backend('user').find(uid)
if user is None:
session.pop('auth', None)
user = _guest
except:
user = _guest
g.user = user
3
Example 29
@APP.route('/logout/')
@APP.route('/logout')
def logout():
''' Logout the user. '''
flask.session.pop('openid')
next_url = flask.url_for('index')
if 'next' in flask.request.args:
if is_safe_url(flask.request.args['next']):
next_url = flask.request.args['next']
return flask.redirect(next_url)
3
Example 30
Project: WAPT Source File: flask_login.py
def _update_remember_cookie(self, response):
# Don't modify the session unless there's something to do.
if 'remember' in session:
operation = session.pop('remember', None)
if operation == 'set' and 'user_id' in session:
self._set_cookie(response)
elif operation == 'clear':
self._clear_cookie(response)
return response
3
Example 31
@app.route("/logout", methods=['GET'])
@login_required
def logout():
logout_user()
session.pop('loggeduser', None)
return redirect(url_for('index'))
3
Example 32
@view.route('/logout')
@login_required
def logout():
if 'authenticated' in session:
session.pop('authenticated')
if 'language' in session:
session.pop('language')
session_manager.delete_session()
logout_user()
session.clear()
return redirect(url_for('.home'))
3
Example 33
def _get_flow_for_token(csrf_token):
"""Retrieves the flow instance associated with a given CSRF token from
the Flask session."""
flow_pickle = session.pop(
_FLOW_KEY.format(csrf_token), None)
if flow_pickle is None:
return None
else:
return pickle.loads(flow_pickle)
3
Example 34
@bp.route('/logout')
def logout():
session.pop('oauth_token', None)
logout_user()
return redirect_for('index')
3
Example 35
@bp.route("/logout")
def logout():
if "current_user" in session:
session.pop("current_user")
resp = redirect(url_for("test.index"))
resp.set_cookie("uid", "", expires=0)
return resp
3
Example 36
Project: stack Source File: views.py
@app.route('/logout')
@load_project
def logout():
"""
Logs out a project account or admin project account
"""
g.project = None
g.admin = None
if 'project_id' in session:
session.pop('project_id', None)
if 'admin_project_id' in session:
session.pop('admin_project_id', None)
return redirect(url_for('index'))
3
Example 37
Project: lastuser Source File: helpers.py
def logout_internal():
g.user = None
if g.usersession:
g.usersession.revoke()
g.usersession = None
session.pop('sessionid', None)
session.pop('userid', None)
session.pop('merge_userid', None)
session.pop('userid_external', None)
session.pop('avatar_url', None)
g.lastuser_cookie.pop('sessionid', None)
g.lastuser_cookie.pop('userid', None)
session.permanent = False
3
Example 38
def find_redirect(key):
"""Returns the URL to redirect to after a user logs in successfully.
:param key: The session or application configuration key to search for
"""
rv = (get_url(session.pop(key.lower(), None)) or
get_url(current_app.config[key.upper()] or None) or '/')
return rv
3
Example 39
Project: indico Source File: admin.py
def _getAnswer(self):
try:
entry = session.pop('login_as_orig_user')
except KeyError:
raise NoReportError(_('No login-as history entry found'))
session.user = User.get(entry['user_id'])
session.update(entry['session_data'])
return True
3
Example 40
@mod.route('/logout')
def logout():
session.pop('logged_in', None)
session.pop('token', None)
session.pop('last_activity', None)
session.pop('username', None)
session.pop('name', None)
session.pop('su', None)
flash(u'You are logged out!', 'success')
return redirect(url_for('auth.login'))
3
Example 41
@app.before_request
def csrf_protect():
if request.method == "POST":
token = session.pop('_csrf_token', None)
if not token or token != request.form.get('_csrf_token'):
abort(400)
3
Example 42
def checkout(self, processor=None, *args, **kwargs):
self.set_processor(processor)
processor_instance = self.processor.get_instance(self, *args, **kwargs)
if processor_instance.validate():
response = processor_instance.process()
self.status = 'checked_out'
self.save()
session.pop('cart_id', None)
return response
else:
self.addlog("Cart did not validate")
raise Exception("Cart did not validate") # todo: specialize this
3
Example 43
Project: JARR Source File: session_mgmt.py
@current_app.route('/logout')
@login_required
def logout():
# Remove the user information from the session
logout_user()
# Remove session keys set by Flask-Principal
for key in ('identity.name', 'identity.auth_type'):
session.pop(key, None)
# Tell Flask-Principal the user is anonymous
identity_changed.send(current_app, identity=AnonymousIdentity())
session_identity_loader()
return redirect(url_for('login'))
3
Example 44
@blueprint.route('/contract/<int:contract_id>/edit/success')
@requires_roles('conductor', 'admin', 'superadmin')
def success(contract_id):
'''Render the success template after completing a contract
:param contract_id: Primary key ID for a
:py:class:`~purchasing.data.contracts.ContractBase`
:status 200: Render the success template
:status 302: Redirect back to the edit company contacts
'''
if session.pop('success-{}'.format(contract_id), None):
contract = ContractBase.query.get(contract_id)
return render_template('conductor/edit/success.html', contract=contract)
return redirect(url_for('conductor.edit_company_contacts', contract_id=contract_id))
3
Example 45
Project: cloud-asr Source File: run.py
@app.route('/logout')
@login_required
def logout():
logout_user()
for key in ['identity.name', 'identity.auth_type']:
session.pop(key, None)
identity_changed.send(app, identity=AnonymousIdentity())
return redirect(url_for('index'))
3
Example 46
Project: pjuu Source File: views.py
@auth_bp.before_app_request
def kick_banned_user():
"""
This function will check too see if the user has been banned since login.
Without this we would have to wait for the user to try and login again
before they are informed that they are banned. This fucntion will just
ensure they are kicked out
"""
if current_user and current_user.get('banned', False):
session.pop('user_id', None)
flash('You\'re a very naughty boy!', 'error')
3
Example 47
def logout_user():
"""Remove the user from the session."""
#TODO: invalidate token with api
if has_request_context():
session.pop('user_id', None)
g.current_user = AnonymousUser()
3
Example 48
Project: flask-forum Source File: app.py
@app.route('/logout', methods=['POST'])
def logout():
session.pop("username", None)
g.username = None
return render_template("template.html", page_name="Logout",
page_body="You have been logged out.")
3
Example 49
@classmethod
def get(self):
resp = make_response(redirect('/login/'))
session.pop('username', None)
session.pop('nickname', None)
session.pop('description', None)
session.pop('avatar', None)
session.pop('status', None)
session.pop('usergroup', None)
session.pop('token', None)
resp.set_cookie('docklet-jupyter-cookie', '', expires=0)
return resp
3
Example 50
@app.route('/logout', methods=['POST'])
def logout():
"""Log the user out."""
session.pop('lex_token', None)
session.pop('lex_email', None)
return redirect(url_for('main'))