PHP实现网站应用微信登录功能
本文用PHP实现了网站应用中的微信登录功能。分享给大家参考,如下:
背景
,最近PC端的网站开发需要微信授权登录。考虑到手机前期已经获取了大量微信用户,我们在考虑整合资源,满足同一微信用户的数据同步。一、开发须知
1.概念区分
,因为我们接触到了微信开发的知识,所以难免会接触到OpenID和UnionID。以下是微信官方文档介绍,请注意区分:关注者与微信官方账号进行消息交互后,微信官方账号可以获取关注者的OpenID(加密微信号,每个用户对每个微信官方账号的OpenID都是唯一的。同一用户的OpenID对于不同的微信官方账号是不同的)。微信官方账号可以根据OpenID通过相应的界面获取用户的基本信息,包括昵称、头像、性别、城市、语言、关注时间等。请注意,如果开发者需要统一多个微信官方账号中的用户账号,或者微信官方账号与移动应用之间的用户账号,需要到微信开放平台(open.weixin.qq.com)绑定微信官方账号后,才能使用UnionID机制满足上述要求。简单来说:OpenID是普通用户的身份,是当前开发者账号独有的。一个OpenID对应一个微信官方账号。UnionID是用户的统一标识。对于微信开放平台账户下的应用,同一用户的UnionID是唯一的。2.归纳整理
围绕这个圈子走,也就是说微信官方账号的微信开发和微信开发平台是有区别的。如果希望同一微信用户使用不同平台的网站(如PC、app、微信小程序等)登录。),需要绑定账户,但是绑定的账户不能用OpenID来区分,只能用UnionID来区分。附录3.典型问题
中一个常见的设计问题主要在于开发前知识使用不完整,造成后续扩展的影响。当然,这也是我遇到的一个问题,希望能给大家敲响警钟。
因此,当你有这种情况时,可以参考下面的说明来获取银联数据后期的用户基本信息(银联机制)
个人参考代码如下:/* * *根据用户获得的openID获取其他信息(主要是Union ID) */Public函数getunionidbypenid($ openID=' '){ $ URL=' https://API . weixin . QQ.com/CGI-bin/user/info?access_token='。$this-getaccesstoken()'。openid='。$openID。lang=zh _ CN ';$ JSonRes=$ this-http _ get($ URL);if($ jsonRes){ $ arrRes=JSON _ decode($ jsonRes,true);返回$ arrRes[' union id '];} else { return“”;}}
二、微信开放平台操作
登录微信开放平台1.简要引导
按照以下要求,我们选择了创建“网站应用开发”,然后按照官方提示申请材料,一般需要三天以上
可以注意到网站应用开发的简要功能介绍
成功创建应用程序后,必须满足接口访问权限,工作人员将主动联系,这通常可以在一天内完成
2.官方提供的场景参考
3.绑定公众账号/小程序
为了保证同一开发账号下对应微信用户的UnionID绑定,需要绑定以下列表中对应的微信官方账号/服务号,文档中一般都有描述微信支付功能要满足。
4.授权获取 access_token 时序图
三、代码实现
,其实大部分时间都花在了前期的应用操作上,但是真正的代码实现却极其简单。下面是我的实现方法。请指责1、公共文件配置
习惯于将主要配置信息放在配置文件中,' \ application \ common \ conf \ config . PHP '。WEIXIN_LOGIN'=array(//微信开放平台使用微信账号登录App或网站配置信息' OPEN _ AppID '=' wxbd 961 B2 a6 b7b 2963 ',//AppID 'OPEN_APPSECRET'='e6 '版权声明:PHP实现网站应用微信登录功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

















