像京东,一号店等网站都实现了用微信来登录的功能,就是用手机上的微信扫一扫网站上的二维码,微信上确认后,即可自动用微信的帐号登录网站。
1 创建网站应用
在微信开放平台创建一个网站应用 https://open.weixin.qq.com :
填写网站信息:
申请完后,7天内通过(我的是第二天就通过了),然后就可以看到 AppID 和 AppSecret
作者:疯吻IT 出处:http://fengwenit.cnblogs.com
2 获取Code
第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数
把上面的url中的appid和redirect url换成你自己的。其中appid就是上面申请的appid。打开这个url显示如下:
用你的微信扫一下,并点击“确认登录”:
会自动跳转到你设置的redirect url, 并带上了code:
http://www.webus.cn/?code=031f52279d9c4ed05f23c9fa51e27f74&state=STATE
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);
整个授权流程如下:
详细的代码可参考《用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)》
官方文档: 网站应用微信登录开发指南
另外可参考: 如何用支付宝扫描二维码登录网站 - 支付宝快捷登录