0

问题:客户使用 MemberPress/Wordpress 作为他们的主要平台。用户在那里被管理。我构建了一个 React 应用程序以与 Wordpress 平台共存。

我所做的:Memberpress 有 webhook。因此,当用户登录 WordPress 时,我使用节点服务器连接到该操作,该节点服务器将用户插入自定义数据库并生成令牌,以便用户可以访问用户在我的基础架构中拥有的节点。

module.exports = (req, res) => {
  const { id, email } = req.body.data;

  request(
    "https://api.graph.cool/simple/v1/73289237283967",
    mutation,
    {
      wpId: id,
      email
    }
  ).then(data => {
    res.json({ status: "success" });
  });
};

每次用户登录时都会触发上述内容。这会执行一个 graphQl 突变,该突变具有一个自定义解析器,用于检查是否wpId存在该用户。如果没有,它将创建一个新用户。然后它生成一个节点令牌https://github.com/prisma-archive/graphcool-templates/blob/master/auth/email-password/src/signup.ts并在响应中发回。

一旦获得令牌,我就可以向用户发出请求。

问题:我不确定如何将两者联系起来。我必须将用户重定向到 wordpress 登录页面。登录动作触发事件,并生成一个令牌。我不确定如何以有效的方式存储该令牌,然后将其发送回我的应用程序。

我的想法是在 WordPress 中编写一个小插件来处理钩子的响应并将令牌存储在 WordPress 的本地存储中。然后每当用户点击进入应用程序时,我可以将令牌放入 URL(感觉有点奇怪,不能直接进入 URL)。我没有任何其他想法,并希望朝着正确的方向轻推。

4

0 回答 0