全部
常见问题
产品动态
精选推荐

微信公众号网页授权登录功能实现

管理 管理 编辑 删除

要实现微信公众号网页授权登录功能,可以按照以下步骤进行:


1. 准备工作

- 注册并获取微信公众号的 AppID 和 AppSecret。

- 确保你的服务器环境支持 PHP 和 cURL。


2. 用户点击登录按钮

在你的网页上添加一个“登录”按钮,用户点击后会跳转到微信的授权页面:

html

<a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=YOUR_APP_ID&redirect_uri=REDIRECT_URL&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect">登录</a>


替换 `YOUR_APP_ID` 为你的微信公众号 AppID,`REDIRECT_URL` 为用户授权后的重定向地址。


3. 获取授权码

用户同意授权后,微信会重定向到你的 `REDIRECT_URL`,并携带一个授权码(`code`):

php

$code = $_GET['code'];


4. 使用授权码获取 access_token 和 openid

使用 cURL 发送请求获取 `access_token` 和 `openid`:

php

$curl = curl_init();

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=YOUR_APP_ID&secret=YOUR_APP_SECRET&code=$code&grant_type=authorization_code";

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);

curl_close($curl);

$json = json_decode($result, true);

$access_token = $json['access_token'];

$openid = $json['openid'];


替换 `YOUR_APP_ID` 和 `YOUR_APP_SECRET` 为你的微信公众号的 AppID 和 AppSecret。


5. 获取用户信息

使用 `access_token` 和 `openid` 获取用户信息:

php

$curl = curl_init();

$url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);

curl_close($curl);

$json = json_decode($result, true);

$nickname = $json['nickname'];

$avatar = $json['headimgurl'];



6. 更新用户信息

将获取到的用户信息更新到你的用户表中:

php

$stmt = $pdo->prepare("UPDATE users SET nickname = :nickname, avatar = :avatar WHERE id = :id");

$stmt->bindParam(':nickname', $nickname);

$stmt->bindParam(':avatar', $avatar);

$stmt->bindParam(':id', $userId);

$stmt->execute();




请登录后查看

小码二开 最后编辑于2024-12-12 20:57:06

快捷回复
回复
回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}}
沙发 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
1521
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

快速安全登录

使用微信扫码登录
{{item.label}} 加精
{{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服