2014-05-14 3 views
1

J'essaie d'activer «Accès aux ressources restreint aux utilisateurs» dans mon application de veille avec l'authentification de base. http://python-eve.org/authentication.html#user-restricted-resource-accessAccès aux ressources restreint aux utilisateurs

Le problème est que je l'active je reçois pour chaque requête http sur l'API une « erreur 500 »

Si je lance l'API sans params d'authentification de base je reçois une mauvaise erreur d'informations d'identification, de sorte que la base L'authentification fonctionne correctement.

C'est la veille DEBUG sortie:

Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1836, in __call__ 
    return self.wsgi_app(environ, start_response) 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1820, in wsgi_app 
    response = self.make_response(self.handle_exception(e)) 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1403, in handle_exception 
    reraise(exc_type, exc_value, tb) 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1817, in wsgi_app 
    response = self.full_dispatch_request() 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1477, in full_dispatch_request 
    rv = self.handle_user_exception(e) 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1381, in handle_user_exception 
    reraise(exc_type, exc_value, tb) 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1475, in full_dispatch_request 
    rv = self.dispatch_request() 
    File "/usr/local/lib/python2.7/dist-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1461, in dispatch_request 
    return self.view_functions[rule.endpoint](**req.view_args) 
    File "/usr/local/lib/python2.7/dist-packages/Eve-0.3-py2.7.egg/eve/methods/common.py", line 226, in rate_limited 
    return f(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/Eve-0.3-py2.7.egg/eve/auth.py", line 43, in decorated 
    if not auth.authorized(roles, resource_name, request.method): 
    File "/usr/local/lib/python2.7/dist-packages/Eve-0.3-py2.7.egg/eve/auth.py", line 97, in authorized 
    allowed_roles, resource, method) 
    **File "/home/maanuel/emberv/eve/run.py", line 12, in check_auth 
    self.set_request_auth_value(account['_id']) 
AttributeError: 'BCryptAuth' object has no attribute 'set_request_auth_value'** 

Il semble que le set_request_auth_class manque

J'utilise la veille de 0,3 installé avec easy_install

+0

L'exemple [bcrypt dans le référentiel GitHub] (https://github.com/nicolaiarocci/eve/blob/develop/examples/security/bcrypt.py) est beaucoup plus simple. –

+0

Je l'ai! La méthode 'set_request_auth_class()' de la classe 'eve.auth' est d'abord disponible dans v 0.4 pas dans v.03 i utilisé. En 0.3, c'est une propriété de classe appelée 'request_auth_value' que vous devez définir. -> voir le Changelog http://python-eve.org/changelog.html#version-0-4 – user3636288

+0

On dirait que vous avez une [auto-réponse] (http://meta.stackexchange.com/questions/ 17463/can-i-answer-my-own-questions-if-i-know-the-answer-before-ask) à venir! –

Répondre

0

Vous lisez la documentation sur le développement version (comme indiqué sur toutes les pages à python-eve.org.) Un changement pertinent venant avec la version 0.4 est la façon dont les jetons auth sont définis. Donc, fondamentalement, vous appliquez une syntaxe de 0.4-dev à Eve v0.3. Vous devriez probablement suivre these instructions à la place. PS: 0.4 est attendu pour une version très bientôt, donc vous pourriez vouloir rester avec celui-là, donc vous n'avez pas besoin de mettre à jour votre code bientôt.

+0

Merci, je suis verrouillage avec impatience la sortie de la v0.4 en particulier pour le correctif https://github.com/nicolaiarocci/eve/ Problèmes/307 donc vous n'avez pas besoin d'utiliser le dev HEAD pour obtenir une authentification spécifique au niveau du point de terminaison – user3636288

+0

Vraiment voulu sortir cette semaine avant de me diriger vers pycon Suède et Italie la semaine prochaine mais on dirait qu'il faudra attendre un peu plus longtemps - désolé à ce sujet. –

+0

Pas de souci Merci quand même pour votre excellent travail avec eve – user3636288

Questions connexes