使用graphene和SQLalchemy为GraphQL设置权限

2024-10-03 02:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我的graphene模式有客户、用户、项目和旅行:

class Clients(SQLAlchemyObjectType):
    class Meta:
        model = ClientModel
        interfaces = (relay.Node, )

class Users(SQLAlchemyObjectType):
    class Meta:
        model = UserModel
        interfaces = (relay.Node, )

class Projects(SQLAlchemyObjectType):
    class Meta:
        model = ProjectModel
        interfaces = (relay.Node, )

class Trips(SQLAlchemyObjectType):
    class Meta:
        model = TripModel
        interfaces = (relay.Node, )

我要做的是设置权限,以便某人传递与某个特定客户端匹配的访问令牌,并且只显示该特定客户端的用户、项目和行程。在

怎么做?有没有石墨烯的方法可以做到这一点?在


Tags: 项目用户node客户端model客户模式interfaces
1条回答
网友
1楼 · 发布于 2024-10-03 02:39:05

我是用flask_httpauth完成的:

from flask_httpauth import HTTPTokenAuth
@auth.verify_token
def verify_token(token):
    for client in ClientModel.query.all():
        if client.access_token == token:
            g.current_user = client
            return True
    return False

然后我只在查询类的每个resolve_函数上添加login_required修饰符,如下所示:

^{pr2}$

相关问题 更多 >