-
Notifications
You must be signed in to change notification settings - Fork 139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
为啥我总是save token, 从未get token; #8
Comments
因为你从来不保存。 |
全部代码如下(用的mongoose): var wechat_oauth_tokens = M_mongo.wechat_oauth_tokens;
var oauth = new OAuth(conf.appid, conf.appsecret,
function(openid, callback) { //get token
console.log('get oauthToken 从未执行');
wechat_oauth_tokens.findOne({
_id: openid
}, function(err, doc) {
if (err) {
console.error('wechat_oauth_tokens findOne err:');
console.error(err);
return callback(err);
}
callback(null, doc.token);
});
},
function(openid, tk, callback) { //save token
wechat_oauth_tokens.findOne({
_id: openid
}, function(err, doc) {
if (err) {
console.error('wechat_oauth_tokens update err:');
console.error(err);
return callback(err);
}
if (doc) {//如果有 更新
doc.token = tk;
doc.save();
callback(null);
} else {
//如果没有 插入新的
wechat_oauth_tokens.create({
_id: openid,
token: tk
}, function(err) {
if (err) {
console.error('wechat_oauth_tokens create err:');
console.error(err);
}
callback(err);
});
}
});
}); |
mongodb的_id主键不是这样用吧。
|
create的时候指定了_id,但还不是标准的ObjectID,没报错已经很给面子了。 |
虽然替换掉_id主键不好,但跟_id跟这问题没关系吧。我demo里的文件存储试了下,也是从来不get token。我也不知道什么时候触发get, 我主要是用在下面方法: client.getAccessToken('code', function (err, result) {
var accessToken = result.data.access_token;
var openid = result.data.openid;
}); 其中每次code 都不一样。 |
我也碰到了同样的总是,有大大能指导一下吗 |
只有getUser的时候才有读。 |
The text was updated successfully, but these errors were encountered: