问题标签 [ariadne-graphql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
61 浏览

flask - 如何使用 Flask 和 Ariadne (GraphQL) 处理身份验证和授权?

这是我第一个如此裸露的 API。

当我发现 GraphQL 时,我正在开发一个用 Flask 制作的 RESTful API 来与我的 React 前端交互。作为一种节省网络资源的好方法,我决定改用它。我选择 Ariadne 是因为有一种简单的方法可以将它与 Flask 集成。

但是,在更改所有逻辑以使用 Ariadne 时,我在验证和验证用户登录时发现并发出了问题。通过 REST API,我可以使用 Flask-jwt-extended 库来处理用户身份验证。例如,我有一个更改用户名的功能。

此端点要求用户登录才能访问。然后我有另一个禁止用户

这种方法之所以有效,是因为每个端点都可以单独设置为需要或不需要身份验证,但是使用 GraphQL 只使用一个端点,所以我要么必须公开所有数据,要么将所有数据放在身份验证墙后面,这是我不需要的真的很想要。

有没有办法单独设置每个查询以要求或不进行身份验证,我将如何以这种方式处理当前登录的用户?