• PHP实现微信第三方登录的方法


    本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法。分享给大家供大家参考,具体如下:

    注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请

    一开始你需要进入微信公众平台开启开发模式,并且填写oauth2的回调地址,地址填写你项目的域名就可以了.比如:www.baidu.com或zhidao.baidu.com.如果你的项目在二级域名就写二级域名

    前端url授权地址,在url中填写appid与你项目中方法中的oauth的地址,具体在下面的代码中可以看到.

    <a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid&redirect_uri=http://www.xxxxxx.com/action/function/oauth2&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect">授权</a>

    再说后台逻辑,首先调用微信接口的SDK.(后面会有)

    include('./Card/Common/class_weixin_adv.php');

    之后填入微信官方给的的appid与secret

    $weixin=new class_weixin_adv("appid", "secret");

    初始化SDK的类,取到code,利用获取到的code在获取出openid 看下面代码注释!

    继续调用SDK方法,获取到用户信息.此时$row已经获得用户信息了 可以var_dump下看看键值方便存入数据库

    $row=$weixin->get_user_info($res['openid']);

    获取用户信息就大功告成了,但这还不够.我们需要的是无需注册!所以需要利用openid,openid属于唯一凭证,每个用户对不同的公众号都有不同的openid.可以理解成用户账号的感觉.我这里用的是把openid存入cookie的解决方案,类似用户登陆的感觉,一些关键数据验证只需要与数据库中的openid进行对比.其他的一些利用方法可以发挥大家的想象!可以跟我留言交流!

    关于之前的a链接的授权,大家也可以判断cookie是否存在openid,从而让未授权用户直接跳转到该地址,省却了用户的一步操作.

    下面是完整逻辑代码,大家可以参考下!

    SDK代码:微信官方有手册,我就不多讲了,自己研究,很简单的!

    出处至:脚本之家

  • 相关阅读:
    Mybatis学习-ResultMap
    MySql模糊查询 concat()函数
    Spring学习-依赖注入
    Struts2学习-struts执行过程简述
    Struts2学习-jsp中超链接传参问题
    Struts2学习-struts.xml文件配置
    第四次作业
    第三次作业
    Django -Ajax
    Django -ORM
  • 原文地址:https://www.cnblogs.com/bcphp/p/7155059.html
Copyright © 2020-2023  润新知