/// <summary> /// 如果OpenId存在不处理,不存在新增,生成令牌写入缓存,返回到客户端 /// </summary> public Jscode2sessionResult createResult(string result) { var obj = JObject.Parse(result); Jscode2sessionResult j2sRes = new Jscode2sessionResult(); if (obj["openid"] == null) { return(null); } j2sRes.openid = obj["openid"] == null ? "" : obj["openid"].ToString(); j2sRes.session_key = obj["session_key"] == null ? "" : obj["session_key"].ToString(); j2sRes.unionid = obj["unionid"] == null ? "" : obj["unionid"].ToString(); j2sRes.errcode = obj["errcode"] == null ? "" : obj["errcode"].ToString(); j2sRes.errmsg = obj["errmsg"] == null ? "" : obj["errmsg"].ToString(); return(j2sRes); }
public string getToken(string js_code) { string context = string.Format("appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", base.WxAppId, base.WxSecret, js_code); string url = base.WxTokenApiUrl; string res = HttpHelper.RequestUrl(url, context); //判断返回值 Jscode2sessionResult j2sRes = createResult(res); //如果返回值正常,更新OpenID if (j2sRes != null) { user u = _userService.grantToken(j2sRes); UserID = u.id.ToString(); res = prepareCachedValue(res, u.id.ToString(), ScopeEnums.User); } return(res); }
public user grantToken(Jscode2sessionResult j2sResult) { using (var db = base.getDatabase()) { var nowuser = db.FirstOrDefault <user>("where openid=@0", j2sResult.openid); if (nowuser == null) { user u = new user() { openid = j2sResult.openid, create_time = DateTime.Now }; user newuser = (user)db.Insert("user", u); return(newuser); } else { return(nowuser); } } }