网站微信登录

官方文档

官方文档

准备工作

1、拥有一个已审核通过的网站应用
2、申请微信登录且通过审核

注意:这里不用引用任何 sdk

第一步:请求code

需要用到的链接是:https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
在这里插入图片描述

  $enter_url = "https://www.baidu.com"; //回调地址,域名必须是你申请的授权回调域
  $redirect_uri = urlencode($enter_url);
  $data = time();
  $state = MD5($data);
  $url = "https://open.weixin.qq.com/connect/qrconnect?appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect";

  echo "<script>location.href=\"https://open.weixin.qq.com/connect/qrconnect?appid={$this->_appid}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_login&state={$state}#wechat_redirect\";</script>";

注意:这里直接echo,就是直接显示官网二维码,如下:
在这里插入图片描述
用户授权登录之后,就会直接跳到对应的回调页面,且在链接上带上了code和state,如下:
在这里插入图片描述
注意: 1、上面这种方式是后端直接显示二维码。
2、支持网站将微信登录二维码内嵌到自己页面中,在页面中先引入如下JS文件。
在这里插入图片描述

第二步:通过code获取access_token

需要用到的链接:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

        $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code";
        $response = $this->client->request('GET', $url);
        $body = (string)($response->getBody());
        $res = json_decode($body, true);
        return $res;

成功返回结果:
在这里插入图片描述
失败返回结果:
在这里插入图片描述
注意:成功只有一种结果,失败各种各样,可以参考文档的返回码说明

第三步: 获取用户个人信息

需要用到的链接:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

  $url = "https://api.weixin.qq.com/sns/userinfo?access_token={$access_token}&openid={$openid}";
        $response = $this->client->request('GET', $url);
        $body = (string)($response->getBody());
        $res = json_decode($body, true);
        return $res;

成功返回结果:
在这里插入图片描述
结束。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP网站中实现微信授权登录的步骤如下: 1. 注册微信开放平台账号并创建应用:首先,你需要在微信开放平台注册一个账号,并创建一个应用。在创建应用时,你会获得一个AppID和AppSecret,这些信息将用于后续的授权登录过程。 2. 引入微信登录SDK:在你的PHP网站中,你需要引入微信登录的SDK,以便使用微信提供的API进行授权登录操作。你可以通过Composer安装SDK,或者手动下载SDK并引入到你的项目中。 3. 获取授权链接:在用户点击微信登录按钮时,你需要生成一个授权链接,将用户重定向到该链接。授权链接的生成需要使用你在第一步中获得的AppID和回调URL。回调URL是用户授权后返回的页面,你需要在该页面中处理授权结果。 4. 用户授权登录:当用户点击授权链接后,会跳转到微信登录页面,用户需要输入微信账号密码并确认授权。一旦用户授权成功,微信会将授权结果返回到你在第三步中设置的回调URL。 5. 处理授权结果:在回调URL页面中,你需要解析微信返回的授权结果。授权结果中包含了用户的唯一标识OpenID和访问令牌Access Token。你可以使用这些信息来获取用户的基本信息,例如昵称、头像等。 6. 完成登录流程:根据你的业务需求,你可以将用户的微信信息保存到数据库中,或者直接使用该信息完成用户的登录流程。一旦用户完成登录,你可以在网站中展示用户的个人信息或提供个性化的服务。 下面是一个简单的PHP代码示例,演示了如何实现微信授权登录: ```php <?php require_once 'path/to/wechat-sdk/autoload.php'; use EasyWeChat\Factory; $config = [ 'app_id' => 'your-app-id', 'secret' => 'your-app-secret', 'oauth' => [ 'scopes' => ['snsapi_userinfo'], 'callback' => 'http://your-callback-url', ], ]; $app = Factory::officialAccount($config); $oauth = $app->oauth; // 生成授权链接 $redirectUrl = $oauth->redirect()->getTargetUrl(); // 将用户重定向到授权链接 header("Location: $redirectUrl"); exit; ?> ``` 请注意,上述代码中的`your-app-id`和`your-app-secret`需要替换为你在微信开放平台注册应用时获得的实际值,`http://your-callback-url`需要替换为你的回调URL。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值