微信公众平台开发之微信OAuth2.0网页授权回调方法的参数获取
摘要:随着微信使用越来越广泛,微信公众平台开放了许多接口以提供更多个性化的服务,上一节我们讲到了微信access_token如何有效长期保存,今天来讲一下OAuth2.0网页授权高级接口中其中一个,OAuth 2.0是OAuth协议的下一版本,OAuth 2.0关注客户端开发者的简易性,同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程。
要在微信中使用OAuth2.0 ,首先需要在微信公众后台配置授权回调域名,配置注意事项请参考公众平台接口详细说明,配置成功后,我们就可以通过请求授权页面,直到授权后重定向到回调地址。如何构造请求方式就不解释了,公众平台有详细介绍,我在这里主要介绍一下如果通过回调方法获取相关参数,如OpenID,State等参数。 直接贴代码: public ActionResult WXBind() { string sUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + ViewUtil.WXappID + "&secret=" + ViewUtil.WXappsecret + "&code=" + Request["code"] + "&grant_type=authorization_code"; WebClient webClient = new WebClient(); Byte[] bytes = webClient.DownloadData(sUrl); string result = Encoding.GetEncoding("utf-8").GetString(bytes); JSONObject obj = JSONConvert.DeserializeObject(result); string sParam = Request["state"]; string sRedictUrl = ""; switch (sParam) { case "myorder": sRedictUrl = "/Account/Order?OpenID=" + obj["openid"] +"&Param=order"; break; case "book": sRedictUrl = "/Book/WXHotels"; break; default: sRedictUrl = "/Account/Index?OpenID={0}" + obj["openid"]; break; } Response.Redirect(sRedictUrl); return View(); } 上面代码主要是是通过授权页面传过来的Code值发送请求,进而获取相关的参数,根据state的值可以根据不同的业务通缉进行不同的处理,比如这些页面一旦通过OpenID查询到用户已经绑定,此时系统就可以直接自动登录,简化了用户登录的过程,还可以根据State和OpenID做一些IT论坛的业务判断,提高您系统的易用性和便捷性。 微时代微信资讯网微信开发栏目微信公众平台开发技术教程分享,收集各种微信API接口开发教程,微信公众号自定义菜单开发,微信应用程序研发。微信商城,微店,互动游戏,优惠劵,会员管理等更多IT论坛微信应用程序开发定制技术介绍分享。敬请持续关注! 微信公众平台开发之微信OAuth2.0网页授权回调方法的参数获取
http://www.wechatstyle.com/weixinkaifa/241.html
|