苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V1.3) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper万能框架(V2.3-含.netcore) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V1.9) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 6103|回复: 1

[asp.net] 微信登录第三方网站SDK(C#)和例子

[复制链接]
发表于 2015-11-5 13:06:15 | 显示全部楼层 |阅读模式
最近做了一个微信登录网站的项目,按照微信开放平台写了一个微信登录的sdk和对应使用的一个例子。
其实微信登录的流程很简单,需要在开发者平台上注册一个账号,进入后台管理后需要自己添加一个网站应用,添加网站应用成功后会得到AppID和AppSecret,这两个值在接下来的编程中会用到。
按照开发文档里的请求步骤笔者已经开发好对应的sdk,实测可用。下面讲下简单的用法,最后会将源码传上。
源码预览图:

QQ截图20151105130812.png
首先需要你在你的网站应用程序下的Global.asax文件里面Application_Start添加设置appid和secret的方法:
[C#] 纯文本查看 复制代码
 void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码

            //在这里设置你的appid和secret
            var appid = "";//应用唯一标识,在微信开放平台提交应用审核通过后获得
            var secret = "";//应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
            WeiXin.SetWxLoginGlobalCredential(appid, secret);
        }


然后在逻辑页面组织访问登录二维码的参数:
[C#] 纯文本查看 复制代码
protected void Page_Load(object sender, EventArgs e)
        {
            //组织参数并跳转到微信登录二维码页面 用户授权后会带code
            string state = new Random().Next(1,1000).ToString();
            HttpCookie stateCookie = new HttpCookie("weixinState", state);
            Response.Cookies.Add(stateCookie);
            string redict_uri = "http://www.sufeinet.com/GetWeixinUserInfo.aspx";//这里需要填写你自己的网站域名所对应的url  可带参数
            Response.Redirect(WeiXin.BuildWxLoginWebCodeUrl(HttpUtility.UrlEncode(redict_uri), state));
        }

最后在需要获取微信用户信息的页面获取微信用户的信息:
[C#] 纯文本查看 复制代码
protected void Page_Load(object sender, EventArgs e)
        {
            string state = Request.QueryString["state"];
            string code = Request.QueryString["code"];
            var cookie = Request.Cookies["weixinState"];
            if (cookie.Value == state)
            {
                //通过带的code获取access_token和openid等信息
                var cre = WeiXin.GetWebLoginAccessToken(code);
                //通过access_token和openid获取微信用户的基本信息
                var userInfo = WeiXin.GetWebUserInfo(cre.access_token, cre.openid, LangType.zh_CN);
            }
        }


其实简单上说就是四步:
1.组织参数访问二维码扫描页面
2.用户扫描并授权后微信服务器会返回到你设置好的回调页面带上code参数。
3.回调页面根据获取到的code去微信服务器get对应的接口,得到access_token和openid
4.通过获取到的access_token和openid在去微信服务器get对应接口就可以获取到微信用户的基本信息。

下面奉上源码以及demo例子。年费会员,或者以上才可以下载
WexinLogin.rar (70.4 KB, 下载次数: 118)

本帖被以下淘专辑推荐:

发表于 2015-11-5 13:16:59 | 显示全部楼层
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1)

GMT+8, 2019-6-26 12:27

© 2017-2018

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