gpt4 book ai didi

javascript - 向服务器传递参数(Stripe Connect 中的 oAuth 回调)

转载 作者:行者123 更新时间:2023-11-30 07:04:25 27 4
gpt4 key购买 nike

我正在按照说明设置 Stripe Connect here (独立帐户)。我在我的 Node 服务器上处理授权和 access_token 的检索。

用户可以访问链接 MY_SERVER_URI/authorize 并将被重定向到预定义的 strip AUTHORIZE_URI:

app.get("/authorize", function(req, res) {
// Redirect to Stripe /oauth/authorize endpoint
res.redirect(AUTHORIZE_URI + "?" + qs.stringify({
response_type: "code",
scope: "read_write",
client_id: CLIENT_ID
}));
});

用户授权 Stripe Connect 后,他或她将被重定向到预定义的 REDIRECT_URI,在本例中等于 MY_SERVER_URI/oauth/callback,其中执行以下脚本:

app.get("/oauth/callback", function(req, res) {

var code = req.query.code;

// Make /oauth/token endpoint POST request
request.post({
url: TOKEN_URI,
form: {
grant_type: "authorization_code",
client_id: CLIENT_ID,
code: code,
client_secret: API_KEY
}
}, function(err, r, body) {

var accessToken = JSON.parse(body).access_token;

// Do something with your accessToken

// For demo"s sake, output in response:
res.send({ "Your Token": accessToken });

});
});

现在一切正常,应用程序可以获取 accessToken。但是,此 accessToken 需要保存并与从客户端授予访问权限的用户匹配。

因此,我的问题归结为,如何在 oauth/callback GET 中传递客户端参数(如客户端 userId) > 请求,或在客户端处理服务器处理(例如 $http GET 请求而不是访问 uri)? 我想后者是不是推荐的选项。

我做了两次尝试:

  • 我尝试使用动态 REDIRECT_URI 传递参数,但是问题是 Stripe 需要指定所有 url首先(导致不能在重定向中传递任何参数网址)。
  • 我尝试使用 $http GET 请求访问 MY_STRIPE_URI/authorize,但这给了我明显的错误 No请求的资源上存在“Access-Control-Allow-Origin” header

可以做什么?

最佳答案

您必须将您的用户 ID 作为“state”参数传递,Stripe 将在回调中返回它。我发现避免 session 的唯一方法

关于javascript - 向服务器传递参数(Stripe Connect 中的 oAuth 回调),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33199457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com