Relay/GraphQL的身份验证和权限

Lye*_*BEN 15 javascript authentication graphql relayjs

Facebook没有提到他们的GraphQL库的身份验证.

假设我有一个可以从GraphQL获取的用户表,我不希望向除了登录用户之外的任何需要它的人透露用户信息,我应该在什么级别添加认证层?

在模式级别通过改变"登录"状态?

或者可能通过将额外的参数传递给graphql当前只需要的函数queryschema

小智 10

可以将带有令牌的auth头添加到GraphQL查询中.

var token = localStorage.getItem('id_token');

Relay.injectNetworkLayer(
  new Relay.DefaultNetworkLayer('http://pathtohost/graphql', {
    headers: {
      Authorization: token
    }
  })
);
Run Code Online (Sandbox Code Playgroud)