# HG changeset patch # User ymh # Date 1395419429 -3600 # Node ID a8dcacb29110299b2d0cd1a78319cf9bc8fe373d # Parent 383355e4caba86ba7899cca7e8056c65112e1134 Add basic auth. diff -r 383355e4caba -r a8dcacb29110 src/egonomy/auth/__init__.py --- a/src/egonomy/auth/__init__.py Fri Mar 21 16:28:53 2014 +0100 +++ b/src/egonomy/auth/__init__.py Fri Mar 21 17:30:29 2014 +0100 @@ -2,6 +2,7 @@ from django.utils.crypto import get_random_string from egonomy.utils import unix_time, encodeAES, decodeAES +import requests def get_egonomy_token(request): @@ -29,3 +30,13 @@ prefix = settings.EGONOMY_USER_PREFIX return (prefix if ( prefix not in username and not is_internal) else "") + username +def get_http_session(): + + s = requests.Session() + + http_auth = (getattr(settings, 'EGONOMY_HTTP_USER', None), getattr(settings,'EGONOMY_HTTP_PASSWORD', None)) + + if http_auth[0] is not None and http_auth[1] is not None: + s.auth = http_auth + + return s diff -r 383355e4caba -r a8dcacb29110 src/egonomy/auth/backends.py --- a/src/egonomy/auth/backends.py Fri Mar 21 16:28:53 2014 +0100 +++ b/src/egonomy/auth/backends.py Fri Mar 21 17:30:29 2014 +0100 @@ -9,9 +9,8 @@ from django.conf import settings from django.contrib.auth import get_user_model -import requests -from egonomy.auth import clean_egonomy_username +from egonomy.auth import clean_egonomy_username, get_http_session logger = logging.getLogger(__name__) @@ -31,7 +30,8 @@ return None logger.debug("EgonomyBackend.authenticate Calling %s" % login_url) - res_login = requests.post(login_url, data={'user_name': username, 'user_password': password, 'login':'true'}) + + res_login = get_http_session().post(login_url, data={'user_name': username, 'user_password': password, 'login':'true'}) logger.debug("EgonomyBackend.authenticate Response received %s" % res_login.text) diff -r 383355e4caba -r a8dcacb29110 src/egonomy/auth/middleware.py --- a/src/egonomy/auth/middleware.py Fri Mar 21 16:28:53 2014 +0100 +++ b/src/egonomy/auth/middleware.py Fri Mar 21 17:30:29 2014 +0100 @@ -10,10 +10,9 @@ from django.contrib import auth from django.contrib.auth import get_user_model from django.core.exceptions import ImproperlyConfigured -import requests +from django.http.response import HttpResponseBadRequest -from egonomy.auth import clean_egonomy_username -from django.http.response import HttpResponseBadRequest +from egonomy.auth import clean_egonomy_username, get_http_session logger = logging.getLogger(__name__) @@ -42,7 +41,7 @@ if not token_check_url: return - res_check = requests.get(token_check_url, params={self.parameter:token}) + res_check = get_http_session().get(token_check_url, params={self.parameter:token}) logger.debug("EgonomyUserTokenMiddleware json raw %s" % res_check.text) res_json = res_check.json() diff -r 383355e4caba -r a8dcacb29110 src/egonomy/config.py.tmpl --- a/src/egonomy/config.py.tmpl Fri Mar 21 16:28:53 2014 +0100 +++ b/src/egonomy/config.py.tmpl Fri Mar 21 17:30:29 2014 +0100 @@ -155,7 +155,10 @@ EGONOMY_URL = '#' EGONOMY_LOGIN_URL ='' -EGONOMY_SALT_LENGTH = 12 EGONOMY_TOKEN_NAME = 'egonomytoken' EGONOMY_TOKEN_CHECK_URL = '' +EGONOMY_HTTP_USER = None +EGONOMY_HTTP_PASSWORD = None + + diff -r 383355e4caba -r a8dcacb29110 src/egonomy/settings.py --- a/src/egonomy/settings.py Fri Mar 21 16:28:53 2014 +0100 +++ b/src/egonomy/settings.py Fri Mar 21 17:30:29 2014 +0100 @@ -199,6 +199,9 @@ EGONOMY_TOKEN_NAME = 'egonomytoken' EGONOMY_TOKEN_CHECK_URL = '' +EGONOMY_HTTP_USER = None +EGONOMY_HTTP_PASSWORD = None + EGONOMY_USER_PREFIX = 'egonomy:' from .config import * #@UnusedWildImport