Reenabling tokens resource, using internal_post

This commit is contained in:
Eibriel 2015-04-09 16:36:32 -03:00
parent 6f011bab67
commit b7b07ea922
2 changed files with 16 additions and 10 deletions

View File

@ -8,6 +8,7 @@ from eve import Eve
from eve.auth import TokenAuth
from eve.auth import BasicAuth
from eve.io.mongo import Validator
from eve.methods.post import post_internal
from bson import ObjectId
from datetime import datetime
@ -50,7 +51,7 @@ class TokensAuth(TokenAuth):
if not token:
return False
tokens = app.data.driver.db['tokens']
lookup = {'token': token, 'updated': {"$gt": datetime.now()}}
lookup = {'token': token, 'expire_time': {"$gt": datetime.now()}}
dbtoken = tokens.find_one(lookup)
if not dbtoken:
validation = validate(token)
@ -58,9 +59,9 @@ class TokensAuth(TokenAuth):
data = {
'username': '',
'token': token,
'updated': datetime.now()+timedelta(hours=1)
'expire_time': datetime.now()+timedelta(hours=1)
}
tokens.insert(data)
post_internal('tokens', data)
else:
return True
return validation['valid']
@ -89,7 +90,8 @@ class MyTokenAuth(BasicsAuth):
self.authorized_protected = BasicsAuth.authorized
def authorized(self, allowed_roles, resource, method):
if resource == 'tokens':
# if resource == 'tokens':
if False:
return self.authorized_protected(
self, allowed_roles, resource, method)
else:

View File

@ -102,7 +102,7 @@ node_types_schema = {
}
"""tokens_schema = {
tokens_schema = {
'username': {
'type': 'string',
'required': True,
@ -110,8 +110,12 @@ node_types_schema = {
'token': {
'type': 'string',
'required': True,
}
}"""
},
'expire_time': {
'type': 'datetime',
'required': True,
},
}
nodes = {
@ -145,20 +149,20 @@ users = {
'schema': users_schema
}
"""tokens = {
tokens = {
'resource_methods': ['POST'],
# Allow 'token' to be returned with POST responses
#'extra_response_fields': ['token'],
'schema' : tokens_schema
}"""
}
DOMAIN = {
'users': users,
'nodes': nodes,
'node_types': node_types,
# 'tokens': tokens,
'tokens': tokens,
}
try: