1、PC端扫码登录

如果你将微信小程序和公众账号绑定同一个微信开放平台,那么他们各自的接口返回有一个参数unionid是相同的(没有绑定微信公众账号就没有);那么你就可以使用这个unionid来做业务处理了

接下来会详细介绍以上接口如何获取用户微信信息

PC端扫码登录 

1、首先到微信开放平台注册一个账号,资料自己对着填

2、在管理中心-》网站应用-》创建网站应用 填写要微信扫码的网站资料

自己准备资料填写就好了,就提交上去

3、接下来就使用php来对接微信扫码登录了

官方文档:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

里面的参数根据自己的情况设置,这里只是举个例子参考

3.1发起微信扫码请求,创建login.php文件

<?php
  $appid=xxxxx;#在微信开放平台的应用中可以查看
  $redirect_uri='http://www.xxxx.com/index.php';
  $state='ok';#这个参数根据自己的业务填,可以不填
  $url='https://open.weixin.qq.com/connect/qrconnect?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_login&state=$state#wechat_redirect';
  header("Loction:".$url);

以下是请求的参数 ,具体的看官网

3.2写一个单独的方法(index.php)获取code,其中微信官方会通过上面的redirect_uri参数找到你这个地址,其中你只要被动接受code就好了

<?php
$code=$_GET['code'];
$state=$_GET['sate'];
$appid=xxxxx;
$secret=xxxx;
#我们可以通过code获取access_token,返回的接口可以var_dump打印一下
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
$res=file_get_contents($url);

返回参数如下图官方的介绍

如果想获取用户的数据那么可以

<?php
$code=$_GET['code'];
$state=$_GET['sate'];
$appid=xxxxx;#开放平台获取
$secret=xxxx;#开放平台获取
#我们可以通过code获取access_token,
$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
$res=file_get_contents($url);#返回数据可以var_dump打印一下
$res=json_decode($res,true);#这里结果自己判断
$url1="https://api.weixin.qq.com/sns/userinfo?access_token=$res['access_token']&openid=$res['openid']";
$userInfo=file_get_contents($url1);#userInfo就是微信获取的用户数据,其中包括openid和unionid,头像、微信昵称等等

以下就是userInfo里面的数据,下图是微信官网的参照图

那么你每次通过微信扫码登录就可以把数据跟新或插入到数据库了,其中最主要的就是用到unionid,如果你微信开放平台关联了小程序,那么小程序返回的openid和unionid中openid和微信扫码返回的openid不一样,unionid是相同的,那么我们就可以判断是同一个用户了


PHP对接微信扫码登录的更多相关文章

  1. Web应用多账号系统设计及微信扫码登录实现

    Web应用多账号系统设计及微信扫码登录实现 1   前言概述 公司对功能测试,性能测试,安全测试等等都做了比较好的自动化后,急需要一个MIS系统来统一管理这些结果及报表. 此MIS系统特点如下: 仅内 ...

  2. 微信开放平台开发——网页微信扫码登录(OAuth2.0)

    1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供 ...

  3. Vue+abp微信扫码登录

    最近系统中要使用微信扫码登录,根据微信官方文档和网络搜索相关文献实现了.分享给需要的人,也作为自己的一个笔记.后端系统是基于ABP的,所以部分代码直接使用了abp的接口,直接拷贝代码编译不通过. 注册 ...

  4. 第三方登录:微信扫码登录(OAuth2.0)

    1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供 ...

  5. php微信开放平台--第三方网页微信扫码登录(OAuth2.0)

    第一.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提 ...

  6. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock

    笔记 6.微信扫码登录回调本地域名映射工具Ngrock         简介:讲解微信扫码回调本地域名ngrock讲解 1.为什么要用这个,微信扫码需要配置回调,需要配置对应的域名          ...

  7. Android (微信扫码登录) 获取微信二维码+扫码登录

    话不多说  直接上菜! 一.因为是微信扫码登录,所有要在微信开放平台  微信开放平台 (qq.com) 进行注册----- 如下 1.资源中心 里面也有详细的官方讲解,里面也有demo  可以下载 2 ...

  8. C#开发微信门户及应用(45)--微信扫码登录

    在前面随笔<C#开发微信门户及应用(41)--基于微信开放平台的扫码登录处理>介绍了基于微信开放平台接口实现的微信扫码直接登录的过程.本篇介绍对扫码登录的一些改进和处理,以便更方便应用在实 ...

  9. Swoole 的微信扫码登录

    微信应用的便捷,扫码登录方式越来越被现在的应用所使用.它因为不用去记住密码,只要有微信号即可方便快捷登录.微信的开放平台原生就有支持扫码登录的功能,不过大部分人还是在用公众平台,所以扫码登录只能自行实 ...

随机推荐

  1. python中获取中位数

    普通方法: 对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数 def huahua(x): length = len(x) print(length) x.sort() print(x) ...

  2. C++逐字输出函数

    void fun(string a) { for(int i=0;i<a.length();i++) { cout<<a[i]; usleep(10000); } cout<& ...

  3. 编写一个Open Live Writer的VSCode代码插件

    起因 又是一年多没有更新过博客了,最近用Arduino做了一点有意思的东西,准备写一篇博客.打开尘封许久的博客园,发现因为Windows Live Writer停止更新,博客园推荐的客户端变为了Ope ...

  4. Arduino 中 EEprom 写入读取清除

    转自:https://www.arduino.cn/thread-1157-1-1.html EEPROM (Electrically Erasable Programmable Read-Only ...

  5. #ifdef _DEBUG #define new DEBUG_NEW #endif的解释

    转载:https://blog.csdn.net/sinat_20265495/article/details/51762738 在用vc时,利用AppWizard会产生如下代码:#ifdef _DE ...

  6. 【Excel技巧】用IF函数进行等级评定

    如果下面给出一份"2月份语文成绩考核表",那么如何对成绩进行等级评定呢. 等级评定规则: 总分(100分) A级(91-100) B级(81-90) C级(71-80) D级(70 ...

  7. 一些IT service的相关知识

    1. cmd是什么,怎么在电脑上打开cmd命令框. 在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的 ...

  8. vue超出8个字符,显示省略号

    显示的数据

  9. 多测师讲解接口测试 _linux中搭建环境cms_高级讲师肖sir

    cms后台的搭建, 我们主要是用来做接口测试和接口自动化测试: 我们搭建的流程和之前搭建多有米一样: 后期给我们一个war包就要知道搭建一个文档: 要知道环境项目怎么讲?   讲解下搭建cms环境的流 ...

  10. pytest文档44-allure.dynamic动态生成用例标题

    前言 pytest 结合 allure 描述用例的时候我们一般使用 @allure.title 和 @allure.description 描述测试用例的标题和详情. 在用例里面也可以动态更新标题和详 ...