六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 579|回复: 0

微信公众平台开发之微信OAuth2.0网页授权回调方法的参数获取

[复制链接]

升级  39.67%

64

主题

64

主题

64

主题

举人

Rank: 3Rank: 3

积分
319
 楼主| 发表于 2015-4-14 12:18:44 | 显示全部楼层 |阅读模式
微信公众平台开发之微信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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博账号登陆

x
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表