首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用受保护的GraphQL端点进行用户注册

使用受保护的GraphQL端点进行用户注册
EN

Stack Overflow用户
提问于 2018-02-02 17:24:49
回答 1查看 495关注 0票数 0

我正在使用GraphQL和Node (express)创建一个应用程序。我看过的许多教程都建议使用变异来创建用户:

代码语言:javascript
复制
mutation {
  createUser(username: "johndoe", password: "Tr0ub4dor&3")
}

现在,我希望使用JSON Web令牌身份验证来保护我的GraphQL端点/graphql。因此,我公开了一个未受保护的非GraphQL端点/token,它为数据库中已有的用户生成一个令牌。然后,可以使用该令牌来访问/graphql端点。

但是,新用户无法获取JSON Web令牌来访问/graphql端点,因为它还不在数据库中。因此,我似乎不能使用突变创建新用户。

我确实考虑过仅在GraphQL中使用viewer字段和某种genToken变体来处理身份验证;但是,使用this does not appear to be a good practice

因此,我唯一的选择是公开第二个无保护的非GraphQL端点,比如处理用户创建的/createuser吗?这里的最佳实践是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-05-25 00:22:41

您希望保护哪些数据不受未注册用户的影响?与REST不同,Graphql只对所有内容使用相同的端点。比方说,例如你必须做应用程序,你有查询来显示已经发布注册用户的todo。您可以使用token保护get todo查询和添加todo突变。(请查看上下文)此上下文使用jwt需要为您想要保护的查询或突变添加内容。

您可以查看此帖子以获取更多详细信息https://dev-blog.apollodata.com/authorization-in-graphql-452b1c402a9

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48579500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档