0

验证用户的正确点是什么?

以继电器入门套件为例。

这似乎是要查询的点(我已经添加了 args id)

var queryType = new GraphQLObjectType({
  name: 'Query',
  fields: () => ({
    node: nodeField,
    // Add your own root fields here
    viewer: {
      args: {
        id: {
          type: GraphQLString
        },
      },
      type: userType,
      resolve: (_, args) => getViewer(args.id),
    },
  }),
});

然后在数据库中做类似的事情

getViewer: (id) => id === viewer.id ? viewer : null,

现在它已经分崩离析了,请求ID的地方在哪里?我会假设路线

export default class extends Relay.Route {
  static queries = {
    viewer: () => Relay.QL`
      query {
        viewer(id:"1")
      }
    `,
  };
  static routeName = 'AppHomeRoute';
}

这行不通。

4

1 回答 1

0

首先,您需要将身份验证中间件放入您的服务器(例如http://passportjs.org/)。然后您必须将身份验证信息传递给 graphql 中间件(在此处阅读有关如何操作的信息https://github。 com/graphql/express-graphql#advanced-options),您最终可以使用函数的第三个参数访问该信息resolve(parentValue, args, -->session)。这是实际的身份验证端点的样子https://github.com/igorsvee/react-relay-example/blob/master/server/routes.js#L29-L51

于 2016-07-11T15:07:41.453 回答