本文实例讲述了php实现网站应用微信登录功能。分享给大家供大家参考,具体如下:
openid 与 unionid 的使用,以下为微信官方文档的的介绍,请注意区分:在关注者与公众号产生消息交互后,公众号可获得关注者的简单概括来讲:openid(加密后的微信号,每个用户对每个公众号的openid是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过相应接口来根据openid获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。请注意,如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用unionid机制来满足上述需求。
openid是普通用户的标识,对当前开发者帐号唯一。一个openid对应一个公众号奖励旅游。unionid是用户统一标识。针对一个 微信开放平台帐号 下的应用,同一用户的unionid是唯一的。
openid 区分,而需要用 unionid 区分。所以:当你出现这种情况,可以参考下面的指导进行 unionid 数据的后期获取 获取用户基本信息(unionid机制)
/** * 根据用户已获得的 openid 获取其他信息 (主要为 unionid) */ public function getunionidbyopenid($openid = ''){ $url = "/d/file/titlepic/info" .$this->getaccesstoken() ."&openid=".$openid."&lang=zh_cn"; $jsonres = $this->http_get($url); if ($jsonres){ $arrres = json_decode($jsonres, true); return $arrres['unionid']; }el{ return ''; } }根据在下的需形容人多的词求,选择了“网站应用开发” 的创建,然后按照官方提示进行材料的申请,一般需要三天以上
可以注意到,网站应用开发 的简要功能介绍
当应用创建通过后,必须还要满足接口权限的获取,会有工作人员主动联系,一般一天就能完成
为了保证同一个开郑州外语中学发账号下对应微信用户的 unionid 绑定使用,需要在下面的列表中绑定对应的公众号/服务号,文档中介绍一般要满足微信支付功能
access_token 时序图'weixin_login' => array( // 微信开放平台 使用微信帐号登录app或者网站 配置信息 'open_appid' => 'wxbd961b2a6b7b2963', //应用 appid 'open_appcret' => 'e6xxxxxxxxxxxxxxxxxxxxe90',//应用 appcret 'open_callbackurl' => 'http://www.52zhenmi.com/home/login/wxback', //微信用户使用微信扫描二维码并且确认登录后,pc端跳转路径 ),
public function wxindex(){ //--微信登录-----生成唯一随机串防csrf攻击 $state = md5(uniqid(rand(), true)); $_ssion["wx_state"] = $state; //存到ssion $callback = urlencode($this->callbackurl); 'https://https://blog.csdn.net/u011415782/article/details/open.weixin.qq.com/connect/qrconnect?appid=appid&redirect_uri=redirect_uri&respon_type=code&scope=scope&state=state#wechat_redirect'; $wxurl = "https://https://blog.csdn.net/u011415782/article/details/open.weixin.qq.com/connect/qrconnect?appid=" .$this->appid."&redirect_uri=" .$callback."&respon_type=code&scope=snsapi_login&state=" .$state."#wechat_redirect"; header("location: $wxurl"); } public 蒙牛内幕function wxback(){ if($_get['state']!=$_ssion["wx_state"]){ echo 'sorry,网络请求失败...'; exit("5001"); } $url='/d/file/titlepic/access_token $arr = curl_get_contents($url); //得到 access_token 与 openid $url='/d/file/titlepic/urinfo $ur_info = curl_get_contents($url); $this->dealwithwxlogin($ur_info); } /** * 根据微信授权用户的信息 进行下一步的梳理 * @param $ur_info */ public function dealwithwxlogin($ur_info){ //todo 数据处理 var_dump($ur_info); die; }通过点击上图中的微信图标,直接跳转如下链接
https://https://blog.csdn.net/u011415782/article/details/open.weixin.qq.com/connect/qrconnect?appid=wxbd961b2a6b7b2963&redirect_uri=http%3a%2f%2fwww.52zhenmi.com%2fhome%2flogin%2fwxback&respon_type=code&scope=snsapi_login&state=204b244a5051207d1987a95f4a7e42c1#wechat_redirect
显示效果如下:
扫描登录成功后进行页面跳转网上看到一篇不错的文章,建议参考:
总结小点:
1.根据上面功能实现的最后,可以获取登录用户的信息,而其中的openid和unionid可存储数据库进行后期业务的处理.2.在下阐述能力有限,建议多参考官方开发文档,谷歌前辈的干货经验…
源代码参考
更多关于php相关内容感兴趣的读者可查看本站专题:《php微信开发技巧汇总》、《php curl用法总结》、《php网络编程技巧总结》、《php字符串(string)用法总结》、《php中json格式数据操作技巧汇总》及《php针对xml文件操作技巧总结》
希望本文所述对大家php程序设计有所帮助。
本文发布于:2023-04-07 09:20:12,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/dc299a66443c0162d004212d7f9076ea.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP实现网站应用微信登录功能详解.doc
本文 PDF 下载地址:PHP实现网站应用微信登录功能详解.pdf
| 留言与评论(共有 0 条评论) |