【问题标题】:Node & GraphQL Auth节点和 GraphQL 身份验证
【发布时间】:2018-12-02 08:56:13
【问题描述】:

使用 Node/Graphql 处理用户身份验证和令牌创建的推荐方法是什么?我看到很多教程使用 REST 端点来授权用户并生成令牌。

虽然我是 GraphQL 领域的新手,但我不明白您为什么不为此使用 GraphQL。

例如,为什么不将这样的查询发送到解析器以检查用户/通行证并生成令牌? :

mutation {
  loginUser (
    username: "YOURUSERNAME", 
    password:"YOURPASSWORD"
  ) 
  {
    token
  }
}

我所阅读的教程没有这样做有什么具体原因吗?这种方法有什么我不知道的缺陷吗?

【问题讨论】:

  • 关于身份验证在罗阿诺克可能还不流行的一些想法。如果您只是在响应中使用令牌,它就可以工作,但在某些情况下,身份验证可能超出了 graphql 规范。例如,设置 cookie。此外,通常您的应用程序可能会直接使用旧的身份验证系统。例如,使用客户端流程通过 google 登录。

标签: node.js graphql


【解决方案1】:

官方文档稍微解释了一下原因:https://graphql.org/graphql-js/authentication-and-express-middleware/

仔细阅读,似乎没有任何官方建议不要这样做,但现有工具期望使用标头和经典端点,因此这更适合。

如果您开始谈论 OAUTH,那么无论如何您都将不得不实现经典 URL 以完成该舞蹈。

【讨论】:

  • 感谢 Jeff 提供的网址。为我清理了一些东西:)
猜你喜欢
  • 2020-09-27
  • 2016-12-01
  • 2020-09-26
  • 1970-01-01
  • 1970-01-01
  • 2021-03-01
  • 2014-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多