def create_or_login(resp): user = None session["email"] = resp.email user = get_user(email=resp.email) if user is not None: g.user = user else: default_channels = current_app.config["DEFAULT_CHANNELS"] gravatar_url = "//www.gravatar.com/avatar/" + md5(resp.email.lower()).hexdigest() + "?" gravatar_url += urllib.urlencode({ 's':str(18) }) user_object = { "openid": resp.identity_url, "name": resp.fullname or resp.nickname, "email": resp.email, "gravatar": gravatar_url, "last_selected_channel": default_channels[0], "channels": default_channels, "api_key": str(uuid.uuid4()), "secret": str(uuid.uuid4()), } db.users.save(user_object) for channel in default_channels: add_user_to_channel(user_object, channel) send_join_channel(channel, user_object, push_socket) g.user = user_object return redirect(oid.get_next_url())
def oauth_callback(provider): if g.authed is True: return redirect(url_for('frontend.index')) oauth = OAuthSignIn.get_provider(provider) username, email = oauth.callback() if email is None: flash('Authentication failed.') return redirect(url_for('frontend.index')) user = None session["email"] = email user = get_user(email=email) if user is not None: g.user = user else: default_channels = current_app.config["DEFAULT_CHANNELS"] gravatar_url = "//www.gravatar.com/avatar/" + md5(email.lower()).hexdigest() + "?" gravatar_url += urllib.urlencode({ 's':str(18) }) user_object = { "openid": "authed", "name": username, "email": email, "gravatar": gravatar_url, "last_selected_channel": default_channels[0], "channels": default_channels, "api_key": str(uuid.uuid4()), "secret": str(uuid.uuid4()), } db.users.save(user_object) for channel in default_channels: add_user_to_channel(user_object, channel) send_join_channel(channel, user_object, push_socket) g.user = user_object return redirect(url_for('frontend.index'))
def create_or_login(resp): user = None session["email"] = resp.email user = get_user(email=resp.email) if user is not None: g.user = user else: default_channels = current_app.config["DEFAULT_CHANNELS"] gravatar_url = "//www.gravatar.com/avatar/" + md5( resp.email.lower()).hexdigest() + "?" gravatar_url += urllib.urlencode({'s': str(18)}) user_object = { "openid": resp.identity_url, "name": resp.fullname or resp.nickname, "email": resp.email, "gravatar": gravatar_url, "last_selected_channel": default_channels[0], "channels": default_channels, "api_key": str(uuid.uuid4()), "secret": str(uuid.uuid4()), } db.users.save(user_object) for channel in default_channels: add_user_to_channel(user_object, channel) send_join_channel(channel, user_object, push_socket) g.user = user_object return redirect(oid.get_next_url())
def create_or_login(resp): user = None session["email"] = resp.email user = db.users.find_one({"email": resp.email}) if user is not None: g.user = user else: default_channels = current_app.config["DEFAULT_CHANNELS"] gravatar_url = "http://www.gravatar.com/avatar/" + md5( resp.email.lower()).hexdigest() + "?" gravatar_url += urllib.urlencode({'s': str(18)}) user_object = { "openid": resp.identity_url, "name": resp.fullname or resp.nickname, "email": resp.email, "gravatar": gravatar_url, "last_selected_channel": default_channels[0], "channels": default_channels, "api_key": str(uuid.uuid4()), "secret": str(uuid.uuid4()), } db.users.save(user_object) push_socket = zmq_context.socket(zmq.PUSH) push_socket.connect(current_app.config["PUSH_ADDRESS"]) for channel in default_channels: add_user_to_channel(user_object, channel) send_join_channel(channel, user_object, push_socket) push_socket.close() g.user = user_object flash(u'Successfully logged in') return redirect(oid.get_next_url())
def create_or_login(resp): user = None session["email"] = resp.email user = db.users.find_one({ "email" : resp.email }) if user is not None: g.user = user else: default_channels = current_app.config["DEFAULT_CHANNELS"] gravatar_url = "http://www.gravatar.com/avatar/" + md5(resp.email.lower()).hexdigest() + "?" gravatar_url += urllib.urlencode({ 's':str(18) }) user_object = { "openid": resp.identity_url, "name": resp.fullname or resp.nickname, "email": resp.email, "gravatar": gravatar_url, "last_selected_channel": default_channels[0], "channels": default_channels, "api_key": str(uuid.uuid4()), "secret": str(uuid.uuid4()), } db.users.save(user_object) push_socket = zmq_context.socket(zmq.PUSH) push_socket.connect(current_app.config["PUSH_ADDRESS"]) for channel in default_channels: add_user_to_channel(user_object, channel) send_join_channel(channel, user_object, push_socket) push_socket.close() g.user = user_object flash(u'Successfully logged in') return redirect(oid.get_next_url())