PHP实现企业微信自建应用授权登录

本文档介绍了如何使用PHP实现企业微信自建应用的授权登录流程。主要包括四个步骤:设置前端链接,构建oauth2接口,处理回调并获取授权code,以及后端验证授权并返回token。前端需要检测本地token,若无则进行授权验证。详细步骤参考企业微信开发文档。
摘要由CSDN通过智能技术生成

腾讯企业微信内部应用服务端开发文档地址
https://work.weixin.qq.com/api/doc/90000/90135/90664

首先需要创建一个企业内部应用,这里不再说明,下面主要简述实现授权登录的逻辑步骤

第一步

与前端约定好一个前端地址,然后通过创建菜单接口或直接在建好的应用中设置工作台应用主页,填入该链接
在这里插入图片描述

第二步

后端编写一个用于构建oauth2的接口,当用户点击第一步设置好的链接时便向该接口发送请求,后端构建好oauth2链接后,返回给前端。其中redirect_uri也是一个需要和前端约定好的前端地址,具体在第三步说明
在这里插入图片描述
文档地址 https://open.work.weixin.qq.com/api/doc/90000/90135/91022

第三步

前端拿到第二步返回的oauth2链接后,直接通过浏览器访问,如window.location.href=oauth2,这时腾讯将会回调,回调的地址就是第二步中设置的前端地址redirect_uri,并带上授权code参数。注意

根据提供的引用内容,实现企业微信扫码登录的步骤如下: 1. 首先,需要在企业微信后台创建一个应用登录企业微信管理后台,点击左侧菜单的“应用管理”,然后点击“创建应用”。填写应用名称、Logo、应用简介等信息,并选择“网页授权登录”作为应用的权限。 2. 获取企业微信应用的AgentId和Secret。在应用创建成功后,可以在应用详情页面找到AgentId和Secret,这些信息将在后续的开发中使用。 3. 在网页中实现扫码登录功能。首先,需要引入企业微信提供的JS-SDK。在网页的<head>标签中添加以下代码: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 4. 在网页中调用企业微信的API获取授权链接。在需要实现扫码登录的页面中,添加以下代码: ```php <?php $corpId = "企业微信的CorpId"; $agentId = "企业微信应用的AgentId"; $redirectUrl = "回调地址"; $state = "自定义参数,可用于回调时的业务处理"; $authUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$corpId."&redirect_uri=".urlencode($redirectUrl)."&response_type=code&scope=snsapi_base&state=".$state."#wechat_redirect"; echo "<a href='".$authUrl."'>点击扫码登录</a>"; ?> ``` 5. 处理回调请求。用户扫码并确认登录后,企业微信会将授权码code传递给回调地址。在回调地址的处理页面中,可以通过以下代码获取用户的openid: ```php <?php $corpId = "企业微信的CorpId"; $agentId = "企业微信应用的AgentId"; $secret = "企业微信应用的Secret"; $code = $_GET['code']; $url = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=".$code; $accessTokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=".$corpId."&corpsecret=".$secret; $accessTokenJson = file_get_contents($accessTokenUrl); $accessTokenArr = json_decode($accessTokenJson, true); $accessToken = $accessTokenArr['access_token']; $userInfoJson = file_get_contents(str_replace("ACCESS_TOKEN", $accessToken, $url)); $userInfoArr = json_decode($userInfoJson, true); $openid = $userInfoArr['UserId']; // 根据openid进行业务处理 ?> ``` 以上是实现企业微信扫码登录的基本步骤。根据具体的业务需求,还可以进一步完善登录流程和处理逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值