node.js - 收到来自 Stripe 的带有授权码的响应后出现 NavigationDuplicated 错误
问题描述
在客户提交 Standart 帐户的表单后,我收到了 Stripe 的回复,其中包含授权代码:
http://localhost:8080/authorize?state=s_987654321&code=ac_123456789.
但后来。它向我发送 404 错误,我在控制台中收到此错误:
vue-router.esm.js?8c4f:2051 Uncaught (in promise) NavigationDuplicated {_name: "NavigationDuplicated", name: "NavigationDuplicated", message: "Navigating to current location ("/404") is not allowed", stack: "Error↵ at new NavigationDuplicated (webpack-int…de_modules/regenerator-runtime/runtime.js:271:22)"}
我在我的主要项目中使用 vuejs,并使用 express.js 与条带平台一起工作。这是我的项目文件结构的一个想法:
主文件夹/src/App.vue
MainFolder/serverExpress/server.js
var CLIENT_ID = 'ca_H6tuwGUpXOW6UT3OwvebyEHPa56AVuuZ';
var API_KEY = 'sk_test_51GPxpRGLlS3xAdXuysR6LHodvo98uj7ZAkpdoPyzZNpKVdN5Dm1SOEe7r1JdfKQ1DY4KcYqZPRre5FpO0sAbgay900DPUg9EFH';
var TOKEN_URI = 'https://connect.stripe.com/oauth/token';
var AUTHORIZE_URI = 'https://connect.stripe.com/oauth/authorize';
var qs = require('querystring');
var request = require('request');
var express = require('express');
var app = express();
app.get('/authorize', function(req, res) {
var code = req.query.code;
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;
res.send({ 'Your Token': accessToken });
console.log(body);
});
});
任何人都可以告诉我发生了什么,我是 express.js 的新手,并且没有太多关于它与条纹一起使用的信息。谢谢!
解决方案
错误本身是 Vue 特有的——我对 Vue 不是很熟悉——但通常你希望将用户重定向为你的/authorize
路由的一部分,将它们发送回你的应用程序,而不是返回一些内容,因为它们'之前已被重定向离开您的应用程序。
推荐阅读
- javascript - Javascript - EPERM:不允许操作,打开“.node-xmlhttprequest-sync-27492”
- reactjs - 路由器打字稿反应的静态类函数访问问题
- android - 单击加号按钮时颤动动态框
- getstream-io - 在 Getstream.io 中不关注用户的通知
- javascript - ng-click 和 ng-init 变量定义
- redux - 像 next.js 这样的服务器端渲染中状态管理的最佳方法是什么?
- java - Thymeleaf - th:href="@{/css/style.css}" 的问题
- python - Pygame 运行缓慢
- java - Arraylist.add Java 出现空指针异常错误
- terraform - 使用 terraform 的阿里巴巴飞天 MySQL DB 多可用区实例