Python eve-如何在成功身份验证后获取当前用户?

Python eve-如何在成功身份验证后获取当前用户?,python,eve,Python,Eve,我创建了一个auth令牌类,如下所示,我使用self.set\u request\u auth\u value(user['''u id'])来设置此请求的用户,在一些钩子中,我想访问此用户,如何获取它 我尝试了app.get\u request\u auth\u value(),但事实并非如此 令牌身份验证类: class TokenAuth(TokenAuth): def check_auth(self, token, allowed_roles, resource, method)

我创建了一个auth令牌类,如下所示,我使用
self.set\u request\u auth\u value(user['''u id'])
来设置此请求的用户,在一些钩子中,我想访问此用户,如何获取它

我尝试了
app.get\u request\u auth\u value()
,但事实并非如此

令牌身份验证类:

class TokenAuth(TokenAuth):
    def check_auth(self, token, allowed_roles, resource, method):
        """ Token authentication using itsdangerous """
        # TODO: revoked access can be checked here
        # without even parsing the token
        s = Serilizer(app.config['SECRET_KEY'])
        try:
            data = s.loads(token)
        except SignatureExpired:
            return []
        except BadSignature:
            return []
        # Celery borker Async task test
        r = add.delay(4, 4)
        print r.id
        # use Eve's own db driver; no additional connections/resources are used
        users = app.data.driver.db['users']
        user = users.find_one({'_id': ObjectId(data.get('id'))})
        # Set the user of this request
        self.set_request_auth_value(user['_id'])
        return user

实际的
auth_值
作为
auth_值
存储在烧瓶的
g
对象()中。因此,在回调中,您可能会执行以下操作:

import flask

user = flask.g.get('auth_value', None)
# or, alternatively:
user = getattr(flask.g, 'auth_value', None)
或者,为了保持Eve语义,您可以使用
current\u app

from flask import current_app

current_app.auth.get_request_auth_value()

谢谢Nicola,我发现它在app.auth中,顺便提一下,我有一个相关的问题,在我的模式中,我的用户字段不是必需的。我将其设置为auth_字段,然后添加了一个hook post_post_模式,以从auth_值中附加用户名,有效负载是str而不是json,技术上没有进行验证,我将auth值中的用户id添加为字符串并将其追加回去,仍然没有通过验证,有什么想法吗,感谢eve和您的帮助。@e-nouri添加用户id时遇到的验证错误是什么?