diff options
author | drebs <drebs@leap.se> | 2013-06-16 21:45:16 -0300 |
---|---|---|
committer | drebs <drebs@leap.se> | 2013-06-20 15:19:50 -0300 |
commit | dbe5e37ef742617c93c7975a612582a77c7724a8 (patch) | |
tree | 30efb7b027cda6992753df27833b6bb6f2d091b9 /src/leap/soledad/auth.py | |
parent | 0deaa2070a88404779ae9a8dab88ee11521c5032 (diff) |
Split client and server in two different packages and refactor.
Diffstat (limited to 'src/leap/soledad/auth.py')
-rw-r--r-- | src/leap/soledad/auth.py | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/src/leap/soledad/auth.py b/src/leap/soledad/auth.py deleted file mode 100644 index 8c093099..00000000 --- a/src/leap/soledad/auth.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- -# auth.py -# Copyright (C) 2013 LEAP -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - - -""" -Methods for token-based authentication. - -These methods have to be included in all classes that extend HTTPClient so -they can do token-based auth requests to the Soledad server. -""" - - -from u1db.remote.http_client import HTTPClientBase -from u1db import errors - - -class TokenBasedAuth(object): - """ - Encapsulate token-auth methods for classes that inherit from - u1db.remote.http_client.HTTPClient. - """ - - def set_token_credentials(self, uuid, token): - """ - Store given credentials so we can sign the request later. - - @param uuid: The user's uuid. - @type uuid: str - @param token: The authentication token. - @type token: str - """ - self._creds = {'token': (uuid, token)} - - def _sign_request(self, method, url_query, params): - """ - Return an authorization header to be included in the HTTP request, in - the form: - - [('Authorization', 'Token <base64 encoded creds')] - - @param method: The HTTP method. - @type method: str - @param url_query: The URL query string. - @type url_query: str - @param params: A list with encoded query parameters. - @type param: list - - @return: The Authorization header. - @rtype: list of tuple - """ - if 'token' in self._creds: - uuid, token = self._creds['token'] - auth = '%s:%s' % (uuid, token) - return [('Authorization', 'Token %s' % auth.encode('base64')[:-1])] - else: - raise errors.UnknownAuthMethod( - 'Wrong credentials: %s' % self._creds) |