Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github GraphQLAPI,硬编码访问令牌工作,试图混淆它不工作_Github_Graphql_Create React App_Apollo_Github Api - Fatal编程技术网

Github GraphQLAPI,硬编码访问令牌工作,试图混淆它不工作

Github GraphQLAPI,硬编码访问令牌工作,试图混淆它不工作,github,graphql,create-react-app,apollo,github-api,Github,Graphql,Create React App,Apollo,Github Api,下面是我的apollo客户端设置,当我对GitHub上创建的访问令牌进行硬编码并尝试ping端点时,它工作正常,我得到数据,我可以使用它等等。我尝试将硬编码值替换为环境变量,但随后我开始从GitHub收到401未经授权的错误。。我记录了环境变量,得到了硬编码时使用的字符串。我真的不明白为什么。有人能帮我吗 const httpLink = createHttpLink({ uri: 'https://api.github.com/graphql', }); const authLink

下面是我的apollo客户端设置,当我对GitHub上创建的访问令牌进行硬编码并尝试ping端点时,它工作正常,我得到数据,我可以使用它等等。我尝试将硬编码值替换为环境变量,但随后我开始从GitHub收到401未经授权的错误。。我记录了环境变量,得到了硬编码时使用的字符串。我真的不明白为什么。有人能帮我吗

const httpLink = createHttpLink({
    uri: 'https://api.github.com/graphql',
});
const authLink = setContext((_, { headers }) => {
    // const token = process.env.REACT_APP_GITHUB;

    return {
        headers: {
            ...headers,
            // authorization: token ? token : null
            authorization: `bearer fullAccessTokenString`
        }
    }
});

const client = new ApolloClient({
    link: authLink.concat(httpLink),
    cache: new InMemoryCache()
});

如果您使用环境变量,它将在构建时被Webpack替换为实际值。您无法在前端代码中包含值并阻止其他人读取它

您需要实现某种身份验证流(如“使用GitHub登录”按钮),允许您的用户在使用应用程序时获得自己的访问令牌,而不是直接在代码中包含访问令牌。这不仅更加安全,而且还意味着A)如果访问令牌过期或被吊销,您不必重新部署应用程序;B)由于每个用户都将使用自己的配额,因此您不太可能达到API的速率限制