PHP微信网页授权

本次开发 使用# EasyWeChat进行开发的
地址:https://www.easywechat.com/docs/master/overvie

 

这里一定选择3.x 已经标明了请注意:

1-使用命令在我们的tp5框架中安装

命令:composer require overtrue/wechat:~3.1 -vvv

结果:

配置文件地址:

https://blog.csdn.net/qq_37138818/article/details/88082822

步骤解释:

(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。

代码1:

//引导用户授权
public function index()
{
    //得到配置文件
    $config = config("weixin");

    $app = new Application($config);
    $oauth = $app->oauth;  //网页 授权


    return $oauth->redirect();  //发起授权
}

测试如下:
域名或者ip/index/wechat/indedx 出现以下结果:

代码2:

//回调方法
    public function call(){
        //得到配置文件
        $config = config("weixin");

        $app = new Application($config);
        $oauth = $app->oauth;

        // 获取 OAuth 授权结果用户信息
        $user = $oauth->user();
        var_dump($user->toArray());
/*
        $_SESSION['wechat_user'] = $user->toArray();

        $targetUrl = empty($_SESSION['target_url']) ? '/' : $_SESSION['target_url'];

        header('location:'. $targetUrl);*/
    }

说明:修改回调的地址 在config的文件中的

/**
 * OAuth 配置
 *
 * scopes:公众平台(snsapi_userinfo / snsapi_base),开放平台:snsapi_login
 * callback:OAuth授权完成后的回调页地址
 */
'oauth' => [
    'scopes'   => ['snsapi_userinfo'],
    'callback' => '/wechat/index/call',
],

3-- 测试

域名:http://www.xxx或者ip.cn/wechat/index/index 发送给 测试号点击地址出现;

或者其他的一些错误:
按照下图所示:添加你的域名或者你的ip


就可以的出现以下 并且得到当前用户的一些信息

结果:

//回调方法
    public function call(){
        //得到配置文件
        $config = config("weixin");

        $app = new Application($config);
        $oauth = $app->oauth;

        // 获取 OAuth 授权结果用户信息
        $user = $oauth->user();
/*      可以的根据具体的业务需求下逻辑
        ---------------
        --------------*/
        var_dump($user->toArray());
/*
        $_SESSION['wechat_user'] = $user->toArray();

        $targetUrl = empty($_SESSION['target_url']) ? '/' : $_SESSION['target_url'];

        header('location:'. $targetUrl);*/
    }

参考地址:https://www.kancloud.cn/he_he/laravel/962117

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP微信网页授权是指开发者使用微信公众平台提供的接口,在PHP开发的网站中实现用户通过微信进行身份验证和登录的功能。这个过程通常包含以下几个步骤: 1. **获取授权URL**:首先,你需要在微信公众平台上注册并配置应用,获取到AppID、AppSecret。然后调用微信的`https://open.weixin.qq.com/connect/oauth2/authorize`接口,传入相应的参数(如redirect_uri、response_type等)生成一个授权页面链接。 ```php $authUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?" . "appid=" . $appID . "&redirect_uri=" . urlencode($redirectUri) . "&response_type=code" . "&scope=snsapi_userinfo" // 请求用户基础信息权限 . "&state=your_state" // 自定义状态值防止CSRF攻击 . "#wechat_redirect"; ``` 2. **用户点击授权**:用户在浏览器中打开这个链接后,会跳转到微信客户端,提示用户确认授权。如果用户同意,微信服务器会重定向回指定的redirect_uri,并附带access_token作为查询参数。 3. **验证授权码**:用户回到你的网站后,你需要从请求中解析出access_code,然后用它换取access_token。这通常涉及到HTTP POST请求到`https://api.weixin.qq.com/sns/oauth2/access_token`接口,提供AppID、AppSecret以及刚才接收到的code。 4. **刷新access_token**:为了长期有效使用,可能需要定期或在需要时刷新access_token。同样通过POST请求到`https://api.weixin.qq.com/sns/oauth2/token`,但这次需要使用refresh_token。 5. **获取用户信息**:有了access_token,你可以调用`https://api.weixin.qq.com/sns/userinfo`接口,传入access_token和openid(从code到token的过程中会得到),以获取用户的详细信息。 6. **存储用户信息**:最后,将用户的微信信息保存到数据库,以便后续操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值