网站微信登录

网站微信第三方登录

<?php
//处理并返回微信用户信息类
class wx{
    //配置APP参数
    private $appid         = ‘‘;
    private $secret        = ‘‘;
    private $re_url        = ‘‘;
    private $state         = ‘state‘;
    private $access_token  = ‘‘;
    private $openid        = ‘‘;
 
    public function __construct()
    {
    }
 
    public function get_code()
    {
        $this->get_state();
        $url = ‘https://open.weixin.qq.com/connect/qrconnect?appid=‘.$this->appid.‘&redirect_uri=‘.urlencode($this->re_url).‘&response_type=code&scope=snsapi_login&state=‘.$_SESSION[$this->state].‘#wechat_redirect‘;
        header(‘Location: ‘.$url);
    }
 
    public function get_info($code,$state){
        $this->get_access_token($code,$state);
        $userinfo = $this->get_user_info();
        return  $userinfo;
    }
 
    /**
         * [get_access_token 获取access_token]
         * @param [string] $code [登陆后返回的$_GET[‘code‘]]
         * @return [array] [expires_in 为有效时间 , access_token 为授权码 ; 失败返回 error , error_description ]
         */
    public function get_access_token($code,$state)
    {
 
        //$this->is_state($state);
        //获取access_token
        $token_url           = ‘https://api.weixin.qq.com/sns/oauth2/access_token?appid=‘.$this->appid.‘&secret=‘.$this->secret.‘&code=‘.$code.‘&grant_type=authorization_code‘;
        $result              = json_decode($this->_curl_get_content($token_url),true);
        $this->access_token  = $result[‘access_token‘];
        $this->openid        = $result[‘openid‘];
    }
        /**
         * [get_user_info 获取用户信息]
         * @param [string] $token [授权码]
         * @param [string] $openid [用户唯一ID]
         * @return [array] [ret:返回码,为0时成功。msg为错误信息,正确返回时为空。...params]
         */
    public function get_user_info()
    {
 
        $url              = ‘https://api.weixin.qq.com/sns/userinfo?access_token=‘.$this->access_token.‘&openid=‘.$this->openid;
        $info             = json_decode($this->_curl_get_content($url), TRUE);
        $info1[‘name‘]    = $info[‘nickname‘];
        $info1[‘sex‘]     = $info[‘sex‘];
        $info1[‘img‘]     = $info[‘headimgurl‘];
        $info1[‘openid‘]  = $info[‘openid‘];
        $info1[‘unid‘]    = $info[‘unionid‘];
 
        return $info1;
    }
 
    private function _curl_get_content($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_URL, $url);
        //设置超时时间为3s
        curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 3);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
 
    //生成随机参数
    private function get_state() {
        $str               = str_shuffle(‘qazxswedcvfrtgbnhyujmkiol123456789‘) . time();
        $_SESSION[‘state‘] = md5(md5($str));
    }
 
    //判断随机数
    private function is_state($state) {
        if($state!==$_SESSION[$this->state]){
           exit(‘随机数检验失败,疑似csrf攻击‘);
        }
    }
}
时间: 2024-08-26 03:16:42

网站微信登录的相关文章

实现网站微信登录

先阅读微信官方文档https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html 1.事先准备 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,

网站微信登录-python 实现

最近微信登录开放公测,为了方便微信用户使用,我们的产品也决定加上微信登录功能,然后就有了这篇笔记. 根据需求选择相应的登录方式 微信现在提供两种登录接入方式 移动应用微信登录 网站应用微信登录 这里我们使用的是网站应用微信登录 按照 官方流程 1 注册并通过开放平台开发者资质认证 注册微信开放平台帐号后,在帐号中心中填写开发者资质认证申请,并等待认证通过. 2 创建网站应用 通过填写网站应用名称.简介和图标,以及各平台下载地址等资料,创建网站应用 3 接入微信登录 在资源中心查阅网站应用开发文档

(转帖)网站微信登录-python 实现

最近微信登录开放公测,为了方便微信用户使用,我们的产品也决定加上微信登录功能,然后就有了这篇笔记. 根据需求选择相应的登录方式 微信现在提供两种登录接入方式 移动应用微信登录 网站应用微信登录 这里我们使用的是网站应用微信登录 按照 官方流程 1 注册并通过开放平台开发者资质认证 注册微信开放平台帐号后,在帐号中心中填写开发者资质认证申请,并等待认证通过. 2 创建网站应用 通过填写网站应用名称.简介和图标,以及各平台下载地址等资料,创建网站应用 3 接入微信登录 在资源中心查阅网站应用开发文档

.Net-mvc微信公众号和网站微信授权登录的实现

最近一段时间一直在做关于微信方面的网站应用开发,这段时间也收获的不少关于微信开发方面的开发技能,接触的比较多的主要有微信公众号和微信网站登录授权,以及微信会员卡,优惠券和扫描二位码的功能,今天我主要想要总结的是微信公众号登录和网站微信授权登录这两者之间的区别于关联. 首先我们必须区别开来微信公众平台开发是指微信公众号进行业务开发(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432),为网站微信登录授权是需要在微信开发

网站第三方登录--微信登录(填坑)

按照官方给出的流程进行开发是可以顺利进行授权等操作的. 但我要说明一下 我开发的项目中 由于网站不是https协议的 所以在微信的授权通过官方给于的js实现二维码显示时遇到以下问题: 第一个问题: 官方步骤 步骤1:在页面中先引入如下JS文件(支持https): <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> 步骤2:在需要使用微信登录的地方

用c#开发微信 (20) 微信登录网站

像京东,一号店等网站都实现了用微信来登录的功能,就是用手机上的微信扫一扫网站上的二维码,微信上确认后,即可自动用微信的帐号登录网站. 1 创建网站应用 在微信开放平台创建一个网站应用 https://open.weixin.qq.com : 填写网站信息: 申请完后,7天内通过(我的是第二天就通过了),然后就可以看到 AppID 和 AppSecret 作者:疯吻IT 出处:http://fengwenit.cnblogs.com 2 获取Code 第三方发起微信授权登录请求,微信用户允许授权第

Asp.Net微信登录-手机网站APP应用

要求:公众号必须先认证,认证费用¥300/年,比较黑 一.微信登录核心代码 //核心代码,没判断异常 1.登录页面 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string appid = "wx86d123456789"; string redirect_uri = HttpUtility.UrlEncode("http://www.114390.com/");

微信开放平台---网站授权微信登录功能(附带源码)

1 微信开放平台:https://open.weixin.qq.com/ 2 微信官方教程:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN 3.pc页面显示 4. 通过官方提供的文档,我们可以看出一共分4个步骤 第一步:请求CODE 第二步:通过code获取a

微信登录

微信开放平台和公众平台的区别 1.公众平台面向的时普通的用户,比如自媒体和媒体,企业官方微信公众账号运营人员使用,当然你所在的团队或者公司有实力去开发一些内容,也可以调用公众平台里面的接口,比如自定义菜单,自动回复,查询功能.目前大多数微信通过认证之后,都在做这个事情. mp.weixin.qq.com 2.开放平台面向的开发者和第三方独立软件开发商.我觉得开发平台最大的开放就是微信登录.当年腾讯没有花大力气去做统一登录这个事情,导致目前各个网站都要弄一套登录机制.好在他们现在认清了局势.开发者