Node.js 中的 Wix 集成出现问题:获取 OAuth 令牌

问题描述 投票:0回答:1

Stack Overflow 社区您好,

我目前正在致力于将 Wix 与 Node.js 后端集成,并且在 OAuth 令牌检索过程中遇到了一些挑战。以下是我面临的问题的详细信息:

  1. 目标: 我的目标是从 Wix OAuth 获取刷新和访问令牌,并使用 Sequelize 将它们存储在我的 SQL 数据库中。

  2. 问题描述: 我不确定获取 OAuth 令牌的正确过程。具体如何获取刷新和访问令牌。

  3. 代码片段: 这是我当前的令牌检索实现的片段:

    import axios from "axios";
    import catchAsyncError from "../middlewares/catchAsyncError.js";
    import dotenv from "dotenv";
    import WixToken from "../models/wixToken.js";
    import printStatement from "../utils/printStatement.js";
    dotenv.config();
    
    const clientID = process.env.WIX_CLIENT_ID;
    const clientSecret = process.env.WIX_CLIENT_SECRET;
    const redirectURI = "http://localhost:4000/auth/v1/redirect-url";
    
    export const wixGetCode = catchAsyncError(async (req, res, next) => {
      const wixAuthUrl = `https://www.wix.com/installer/install?token=${req.query.token}&appId=${clientID}&redirectUrl=${redirectURI}`;
      res.redirect(wixAuthUrl);
    });
    
    export const wixgetToken = catchAsyncError(async (req, res, next) => {
      const { code } = req.query;
      const response = await axios.post(
        "https://www.wixapis.com/oauth/access",
        {
          client_id: clientID,
          client_secret: clientSecret,
          grant_type: "authorization_code",
          code: code,
        },
        {
          headers: {
            "Content-Type": "application/json",
          },
        }
      );
      const { access_token, refresh_token } = response.data;
      const token = await WixToken.findAll()
      if (token.length === 1){
        if (token[0].token !== refresh_token) {
          await token[0].update({ token: refresh_token });
        }else{
          printStatement("Token is same as previous token");
        }
      }
      else{
        await WixToken.create({ token: refresh_token });
      }
    
      printStatement("Token saved successfully");
     
      res.redirect(
        `https://www.wix.com/installer/token-received?token=${response.data.access_token}`
      );
    });

node.js express wix
1个回答
0
投票

解决方案:Wix 与 Node.js 集成 - OAuth 访问和刷新令牌检索

Stack Overflow 社区您好,

经过彻底的调查和实验,我成功解决了在 Node.js 中集成 Wix 时遇到的问题,特别是关于 OAuth 令牌检索的问题。

GitHub 存储库: 为了帮助其他可能进行类似集成的人,我利用 MySQL 和 Sequelize 创建了一个用于 Wix 与 Node.js 服务器集成的基本模板。您可以在我的 GitHub 存储库中找到该模板:

Wix 在 Node js 中的集成

随意克隆或分叉存储库并使其适应您的特定需求。我希望这个模板对社区有所帮助。 感谢那些在我的故障排除过程中提供帮助和指导的人。如果您有任何进一步的问题或改进建议,请随时对此答案发表评论。

我希望这个解决方案和模板对遇到类似挑战的其他人有价值。快乐编码!

© www.soinside.com 2019 - 2024. All rights reserved.