龙空技术网

第三方登录

toujun007 62

前言:

现在咱们对“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