前端调用: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http://m./wx/login/?url=https%3A%2F%2Fm.%2Fpages%2Fpassport%2FloginDemo.html%3FredirectNum%3D0&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect 与微信交互进行微信的授权登录,其中scope有两种,具体的解释见<a href= 'https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842'>微信官方文档</a>,redirect_uri的值前半部分是我们的接口,后半部分的url的值要进行URLEncode 2. 接口/wx/login/的处理逻辑 1. 通过第一步后,/wx/login/会携带微信生成的code的参数,根据code获取当前的微信用户的openid,接口调用https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code,其中CODE的值就是code 2. 返回值 {'access_token':'ACCESS_TOKEN','expires_in':7200,'refresh_token':'REFRESH_TOKEN','openid':'OPENID','scope':'SCOPE' } 3. 根据OPENID,查询数据库中用户的信息,并设置session 3. 前端调用接口,检查session,并进行后续的业务处理 登录 |
|