我是注册了微信开放平台二维登陆不同与公众平台二维码登录方式: http://open.weixin.qq.com
可以网站登陆和APP登陆类型QQ登陆相当
https://open.weixin.qq.com/connect/qrconnect?appid=[微信分配的appid]&redirect_uri=[用户扫描二维码后主域名]&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
#region 调用微信登录方法+void WXloginClike(string id) /// /// 登录方法 /// private void WXloginClike(string id) { //取得当前域名 string url = HttpContext.Current.Request.Url.Host; //拼接参数 state = Guid.NewGuid().ToString().Replace("-", "") + "*" + id + "*" + url; //把参数传入session方面取出数据 HttpContext.Current.Session["state"] = state; string login_url = "https://open.weixin.qq.com/connect/qrconnect?appid=" + client_id + "&redirect_uri=" + Utils.UrlEncode(redirect_uri) + "&response_type=code&scope=snsapi_login&state=" + state; //开始发送 HttpContext.Current.Response.Redirect(login_url); } #endregion 用户扫描二维码后把code和state返回给主域名主域名只做了个交转过程 ConfigUnit configUnit = new ConfigUnit(); public void ProcessRequest(HttpContext context) { if (HttpContext.Current.Request.HttpMethod == "GET") { //取得state string code = configUnit.Read("code"); string state = configUnit.Read("state"); if (code == "" && state == "") { ConfigUnit.ShowMsg("state未初始化", "/index.aspx"); HttpContext.Current.Response.End(); } //由于之前用了 “*”来分开使用 ,现在借钱出来然后把state和code转交到指定域名实现登录 string[] sArray = state.Split('*'); string state1 = sArray[0]; string callbackTpye = sArray[1]; string url = "http://" + sArray[2] + "/WXLoginCallback.ashx?state=" + state + "&code=" + code; HttpContext.Current.Response.Redirect(url); } }