用c#开发微信 (20) 微信登录网站 - 扫描二维码登录

 

像京东,一号店等网站都实现了用微信来登录的功能,就是用手机上的微信扫一扫网站上的二维码,微信上确认后,即可自动用微信的帐号登录网站。

 

 

1 创建网站应用

 

在微信开放平台创建一个网站应用 https://open.weixin.qq.com : 

 

image

 

填写网站信息:

image

 

申请完后,7天内通过(我的是第二天就通过了),然后就可以看到 AppID 和 AppSecret

image

 

作者:疯吻IT 出处:http://fengwenit.cnblogs.com

 

2 获取Code

第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数

 

https://open.weixin.qq.com/connect/qrconnect?appid=wx2d31f65267d0fcb6&redirect_uri=http%3a%2f%2fwww.webus.cn&response_type=code&scope=snsapi_login&state=awen#wechat_redirect

把上面的url中的appid和redirect url换成你自己的。其中appid就是上面申请的appid。打开这个url显示如下:

image

 

用你的微信扫一下,并点击“确认登录”:

Screenshot_2015-07-17-11-13-51

会自动跳转到你设置的redirect url, 并带上了code:

http://www.webus.cn/?code=031f52279d9c4ed05f23c9fa51e27f74&state=STATE

image   

3 获取Token

通过code参数加上AppID和AppSecret等,通过API换取access_token

Senparc框架里封装好了这个接口:

result = OAuthApi.GetAccessToken(appId, appSecret, code);

  

4 获取用户信息

通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作

OAuthUserInfo userInfo = OAuthApi.GetUserInfo(result.access_token, result.openid);

 

 

整个授权流程如下:

image

详细的代码可参考《用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)

官方文档: 网站应用微信登录开发指南

 

另外可参考: 如何用支付宝扫描二维码登录网站 - 支付宝快捷登录

 

用c#开发微信 系列汇总

posted @ 2015-07-17 11:28  疯吻IT  阅读(19889)  评论(10编辑  收藏  举报