前言:
现在咱们对“php微信获取openid”可能比较着重,我们都需要了解一些“php微信获取openid”的相关资讯。那么小编也在网上搜集了一些关于“php微信获取openid””的相关文章,希望大家能喜欢,同学们快快来学习一下吧!一. 概述
在项目中, 实现微信登陆的功能, 描述如下:
打开网站首页, 点击登陆按钮,
点击登陆, 弹出二维码
手机微信扫码后, 跳转到公众平台
如果用户已经关注, 则直接登陆
如果用户没有关注, 就提示用户关注, 关注后, 直接登陆
扫码后到底 前台 -- 后台 -- 微信 之间发生了哪些不可告人的秘密呢?
本系列文章使用PHP-Laravel框架带大家一步一步实现微信登陆的功能
使用Laravel实现服务端
使用workerman实现websocket服务器
二. 原理
客户端点击登陆, 向后台发起请求, 获取ticket和scene_id(随机生成的整数)
客户端使用ticket向微信服务器发起请求, 获取二维码
并且向后台websocket服务端发起websocket连接, 并且推送scene_id, 后台将scene_id加入到连接数组里
用户使用微信扫码, 点击关注, 微信公众号将用户关注事件推送到PHP服务端
PHP服务端使用openid请求微信服务器, 获取用户详细信息, 保存到数据表, 然后向websocket服务端推送openid和scene_id
websocket服务端接收到php服务端推送来的openid和scene_id, 使用scene_id确定具体是哪一个客户端, 然后向其推送openid
客户端接收到websocket的推送, 携带openid向php服务端请求login登录接口, php服务端将openid写入到session中, 标识用户已经登录
标签: #php微信获取openid