客户端授权微信登录后,node.js服务器该怎么做?
发布于 7 年前 作者 racyily 4255 次浏览 来自 问答

我有appid,secret和code,但是我为什么请求不了https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

头疼,搞了一上午了

7 回复
  1. 先请求https://open.weixin.qq.com/connect/oauth2/authorize,携带你的appid,回调地址等参数。
  2. 微信会回调你第一步传的redirect地址,url上会携带code。
  3. 拿着code去https://api.weixin.qq.com/sns/oauth2/access_token换用户信息。 然后你懂得…

@yanfch 你的第一步是我们客户端做的事情,他把code告诉我了,然后我直接去请求https://api.weixin.qq.com/sns/oauth2/access_token,会这个错:unable to verify the first certificate

@yanfch 貌似是不让我请求这个url,只能请求一级域名,但是用别的语言就可以,或者可以直接在浏览器打开

@racyily 请求模块用的哪个?

这是我之前请求的用的

function authorize(code, cb) {
	const params = {
		appid: app.appid,
		secret: app.secret,
		grant_type: 'authorization_code',
		code: code
	}
	const opts = {
		url: url.auth.authorize,
		qs: params,
		json: true
	}
	request.get(opts, function(err, res, body){
		if (err) cb(err, body)

		cb(null, body)
	})
}
回到顶部