【发布时间】:2019-02-27 01:29:46
【问题描述】:
我正在尝试实现一个 OAuth2 服务,在该服务中我能够从服务器接收 授权码,并且服务器将我重定向到带有参数 code (其中code = Authorization Token(授权授权码))。
现在我需要使用这个 Authorization token 向服务器发出请求。但是我无法从重定向的 URL 中获取 token 以在我的应用程序中使用。
index.js
app.get('/oauth2', function(req, res){
res.redirect('https://api.codechef.com/oauth/authorize? response_type=code&client_id=CLIENT_ID&state=xyz&redirect_uri=http://localhost:3000/login');
});
通过上面的 sn-p,我可以在重定向的 URL 中获取 授权令牌:
http://localhost:3000/login?code=3f608c5f1a019e51997e77bcXXXXXX643ea875ad&state=xyz
现在,我想获取上述 URL 中的 code 并将其与其他一些参数一起用于发出请求。基本上,我需要该 code 作为我的 Nodejs 应用程序中的变量。
【问题讨论】:
-
3000 端口上正在运行什么? API 还是前端?
-
req.query.code如果你使用的是快递??? -
读完你的问题后,我得到的是你需要有一个像
router.get('/login',...)这样的路由,你可以从查询字符串中获取代码,就像我上面的评论一样。 -
@AnandUndavia 我的 NodeJS 应用程序在端口 3000 上运行。@vibhor1997a 是的,我正在使用 express。我试过
res.query.code,但它显示为空{}。我什至尝试过res.params.code,但由于 URL 是重定向的,所以没有帮助。另外,对于延迟回答您的问题,我们深表歉意。
标签: node.js api redirect oauth-2.0 request