我已经使用 Cloud 代码将Apollo GraphQL与解析服务器集成在一起 . 我现在想公开身份验证变异(在 Cloud 代码中),它将接受facebook authData
并对用户进行身份验证,以便它可以返回 sessionToken
.
GraphQL在这里是次要的 - 它只是一个上下文来解释为什么我需要在 Cloud 代码中完成所有这些(我也使用parse-server托管服务提供商并使用 Cloud 代码是使GraphQL工作的唯一合理方法) .
在这里显示更多细节是如何完成集成https://github.com/ciekawy/parse-server-back4app-graphql-boilerplate
并且不要只放一个链接,_1805662_在 cloud
文件夹中看起来像
var fs = require("fs");
var path = require("path");
var apollo_server_express = require("apollo-server-express");
var graphql_tools = require("graphql-tools");
var bodyParser = require("body-parser");
var cors = require("cors");
var resolvers = {
Query: {
hello() { return "Hello world!"; }
}
};
var schema = graphql_tools.makeExecutableSchema({
typeDefs: fs.readFileSync(path.join(__dirname, './graphql/schema.graphql'), 'utf8'),
resolvers: resolvers
});
app.use('/graphql', cors(), bodyParser.json(), apollo_server_express.graphqlExpress({ schema: schema }));
app.use('/graphiql', apollo_server_express.graphiqlExpress({
endpointURL: '/graphql'
}));
所以 resolvers
我想补充一下
Mutation: {
authenticate(obj, args, context) {
// here call some parse-server link with
}
}
我尝试以不同的方式使用 linkWith
,但没有成功 .
更新:根据对parse-server's github的讨论,我想要做的事情甚至可能都不受支持 . 通过更好地了解内部结构,我可以在那里开票 .
我看到两种可能的解决方法(虽然我对它们不满意)
-
只是使用REST进行oauth注册/登录(这里的主要缺点是无法提供原子帐户初始化 - 即创建额外的用户数据结构,另一个是无法完全迁移到GraphQL)
-
执行从 Cloud 代码GraphQL变异到自我的环回REST调用
1 回答
至于现在,我最终做了从 Cloud 代码到内部的http调用 - 这里是否有人想要在相同的情况下进行 .
Sill会欢迎没有环回http调用的解决方案 .