def login_box(request): from kay.auth import login next = unquote_plus(request.values.get("next")) owned_domain_hack = request.values.get("owned_domain_hack") message = "" form = LoginBoxForm() if request.method == "POST": if form.validate(request.form): result = login(request, user_name=form.data['user_name'], password=form.data['password']) if result: if owned_domain_hack == 'True': original_host_url = unquote_plus( request.values.get("original_host_url")) url = original_host_url[:-1] + url_for("auth/post_session") url += '?' + url_encode({ 'session_id': result.key().name(), 'next': next }) return redirect(url) else: return redirect(next) else: message = _("Failed to login.") return render_to_response("auth/loginform.html", { "form": form.as_widget(), "message": message })
def login(request): from kay.auth import login if settings.AUTH_POST_LOGIN_SUCCESS_DEFAULT_URL: next = unquote_plus(request.values.get("next", settings.AUTH_POST_LOGIN_SUCCESS_DEFAULT_URL)) else: next = unquote_plus(request.values.get("next", "/")) owned_domain_hack = request.values.get("owned_domain_hack") message = "" form = LoginForm() if request.method == "POST": if form.validate(request.form): result = login(request, user_name=form.data['user_name'], password=form.data['password']) if result: if owned_domain_hack == 'True': original_host_url = unquote_plus( request.values.get("original_host_url")) url = original_host_url[:-1] + url_for("auth/post_session") url += '?' + url_encode({'session_id': result.key().name(), 'next': next}) return redirect(url) else: return redirect(next) else: message = _("Failed to login successfully with those credentials, try another or click the 'Forgot Password' link below.") return render_to_response("auth/loginform.html", {"form": form.as_widget(), "message": message})
def login_box(request): from kay.auth import login next = unquote_plus(request.values.get("next")) owned_domain_hack = request.values.get("owned_domain_hack") message = "" form = LoginBoxForm() if request.method == "POST": if form.validate(request.form): result = login(request, user_name=form.data['user_name'], password=form.data['password']) if result: if owned_domain_hack == 'True': original_host_url = unquote_plus( request.values.get("original_host_url")) url = original_host_url[:-1] + url_for("auth/post_session") url += '?' + url_encode({'session_id': result.key().name(), 'next': next}) return redirect(url) else: return redirect(next) else: message = _("Failed to login.") return render_to_response("auth/loginform.html", {"form": form.as_widget(), "message": message})
def login(request): from kay.auth import login from settings import FACEBOOK_APP_ID, FACEBOOK_SECRET import facebook fb_uid = get_facebook_uid(request) if not fb_uid: return NotFound() result = login(request, fb_uid = fb_uid) auth = facebook.get_user_from_cookie(request.cookies, FACEBOOK_APP_ID, FACEBOOK_SECRET) if auth: access_token = auth['access_token'] graph = facebook.GraphAPI(access_token) try: user = graph.get_object("me") logging.debug(user) except DownloadError: user = None logging.debug(access_token) logging.debug(graph) logging.debug(auth) logging.debug(fb_uid) logging.debug("some strange error occurred on app engine") if user: update_facebook_user(user = request.user, facebook_user_data = user) return redirect(request.referrer)
def authorize(self, request, operation, obj=None, model_name=None, prop_name=None): from kay.auth import login from kay.exceptions import NotAuthorized import base64 auth_header = request.headers.get('Authorization') if not auth_header: raise NotAuthorized (scheme, base64str) = auth_header.split(' ') if scheme != 'Basic': raise NotAuthorized (username, password) = base64.b64decode(base64str).split(':') result = login(request, user_name = username, password = password) if not result: raise NotAuthorized if not request.user.is_admin: raise NotAuthorized return True