def login_handler(): if authentication.is_authenticated(flask.session): return flask.redirect(open_id.get_next_url()) try: root = authentication.request_macaroon() except ApiResponseError as api_response_error: if api_response_error.status_code == 401: return flask.redirect(flask.url_for(".logout")) else: return flask.abort(502, str(api_response_error)) except ApiError as api_error: return flask.abort(502, str(api_error)) openid_macaroon = MacaroonRequest( caveat_id=authentication.get_caveat_id(root)) flask.session["macaroon_root"] = root lp_teams = TeamsRequest(query_membership=[LP_CANONICAL_TEAM]) return open_id.try_login( LOGIN_URL, ask_for=["email", "nickname", "image"], ask_for_optional=["fullname"], extensions=[openid_macaroon, lp_teams], )
def login_handler(): if authentication.is_authenticated(flask.session): return flask.redirect(open_id.get_next_url()) root = authentication.request_macaroon() openid_macaroon = MacaroonRequest( caveat_id=authentication.get_caveat_id(root)) flask.session['macaroon_root'] = root return open_id.try_login(LOGIN_URL, ask_for=['email', 'nickname', 'image'], ask_for_optional=['fullname'], extensions=[openid_macaroon])