首页 > 解决方案 > 节点和 GraphQL 身份验证

问题描述

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

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

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

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

我经历过的教程没有这样做有什么具体原因吗?这种方法是否存在某种我不知道的缺陷?

标签: node.jsgraphql

解决方案


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

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

如果您开始谈论 OAUTH,那么无论如何您都必须实现经典 URL 才能完成该舞蹈。


推荐阅读