root / api / middleware.py @ 7584d408
History | View | Annotate | Download (769 Bytes)
1 |
from synnefo.api.errors import Unauthorized |
---|---|
2 |
from synnefo.db.models import SynnefoUser |
3 |
|
4 |
class SynnefoAuthMiddleware(object): |
5 |
|
6 |
auth_token = "X-Auth-Token"
|
7 |
auth_user = "X-Auth-User"
|
8 |
auth_key = "X-Auth-Key"
|
9 |
|
10 |
def process_request(self, request): |
11 |
if self.auth_token in request.META: |
12 |
#Retrieve user from DB
|
13 |
user = SynnefoUser.objects.get(request.META.get(self.auth_token))
|
14 |
if user is None : |
15 |
return
|
16 |
request.user = user |
17 |
|
18 |
#An authentication request
|
19 |
if self.auth_user in request.META and 'X-Auth-Key' in request.META \ |
20 |
and '/v1.0' == request.path and 'GET' == request.method: |
21 |
#Do authenticate or redirect
|
22 |
return
|
23 |
|
24 |
raise Unauthorized
|