微信企业号-网页授权

企业微信 创建应用后如何构造网页授权 获取token 获取用户信息 第一次对接企业微信,上网找了各种方案。目的是在企业微信中,公司发给员工一个地址,员工点开后打开画面,在这个画面上可以获取到这个员工的userid(后续功能操作就是各自不同的功能了哈,就不详细说了)。然后根据官网内容,分析了一下,我需要连接官网的【构造网页授权】【获取token】【获取用户信息】。然后调查了别人怎么写,查来查去除了写内容,还需要一些配置。前端使用的vue的uniapp框架。后台使用Java。如果符合你现在的需求,可以参照下面的方法~ ^-^~ 阅读详情

 企业公众号-网页授权,微信官方文档

 //网页授权获取用户信息
 /*访问方式
         获取code:js--location.href='http://xxx/api/wxapi/wxapi?redirect_uri='+urlencode('http://xxx/api/wxapi/wxapi')+'&backurl=urlencode(返回到前台地址)';
         获取用户信息:js--ajax='http://xxx/api/wxapi/wxapi?code=code&getinfo=getinfo'

         */
    public function wxapi()
    {
       
        //判断请求方式
        if ($this->isHttps()) {
            $protocol = 'https';
        } else {
            $protocol = 'http';
        }

        //初始化变量
        $appid = 'xxx';
        $secret= 'xxx';
        $scope = 'snsapi_userinfo';
        $state = 'STATE';
        $code = '';
        $redirect_uri = $protocol . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        $device = '';
        $authUrl='https://open.weixin.qq.com/connect/oauth2/authorize';
        $back_url='';
        //回调地址
        if (isset($_GET['back_url'])) {
            $back_url = urldecode($_GET['back_url']);
        }
        //code返回本页面
        if(isset($_GET['redirect_uri'])){
            $redirect_uri=urldecode($_GET['redirect_uri']);
        }
        //appid
        if (isset($_GET['appid'])) {
            $appid = $_GET['appid'];
        }
        if (isset($_GET['secret'])) {
            $secret = $_GET['secret'];
        }
        if (isset($_GET['state'])) {
            $state = $_GET['state'];
        }
        //临时令牌
        if (isset($_GET['code'])) {
            $code = $_GET['code'];
        }
        //授权方式
        if (isset($_GET['scope'])) {
            $scope = $_GET['scope'];
        }

        //获取用户信息
        if(!empty($_GET['getinfo']) && $_GET['getinfo']=="getinfo"){
            
            //https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
            //获取网页access_token,

            $access_token = file_get_contents("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={$appid}&corpsecret=$secret");
            $token=json_decode($access_token,1);
            if(isset($token['errcode']) && $token['errcode']!=0){
                $this->content=$token;
                $this->errorInfo(2);
            }
            $arr=file_get_contents('https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token='.$token['access_token'].'&code='.$code);
            $arr=json_decode($arr,1);
            if(isset($arr['UserId'])){
                $arr=file_get_contents('https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token='.$token['access_token'].'&userid='.$arr['UserId']);
                $arr=json_decode($arr,1);
            }
            $this->content=$arr;
            $this->errorInfo(0);
        }

        if (empty($code)) {

            //访问地址
            if (isset($_GET['authUrl'])) {
                $authUrl = $_GET['authUrl'];
            }

            //回调地址【微信中间件地址】
            $options = [
                $authUrl,
                '?appid=' . $appid,
                '&redirect_uri=' . urlencode($redirect_uri),
                '&response_type=code',
                '&scope=' . $scope,
                '&agentid=47',
                '&state=' . $state,
                '#wechat_redirect',
            ];

            //把redirect_uri先写到cookie
            setcookie('redirect_uri', urlencode($back_url));
            header('Location: ' . implode('', $options));echo 123;die;
        } else {

            //查回调地址
            if (isset($_COOKIE['redirect_uri'])) {
                $back_url = urldecode($_COOKIE['redirect_uri']);
            }
            if(empty($back_url)){
                die('参数 back_url 不能为空,请重新访问');
            }
            
            if(strpos($back_url,'/#')){
                $aa=(strpos($back_url,'/#')-1);
                if($back_url[$aa]=='/'){
                     $back_url=substr($back_url,0,$aa).substr($back_url,($aa+1));;
                };
            }
             //返回code
             //跳转到回调页面
            header('Location: ' . implode('', [
                $back_url,
                strpos($back_url, '?') ? '&' : '?',
                'code=' . $code,
            ]));echo 456;die;
        }

    }
    private function isHttps()
    {
        if (!isset($_SERVER['HTTPS'])) {
            return false;
        }

        //判断服务器类型
        if ($_SERVER['HTTPS'] === 1) {
            //Apache
            return true;
        } elseif ($_SERVER['HTTPS'] === 'on') {
            //IIS
            return true;
        } elseif ($_SERVER['SERVER_PORT'] == 443) {
            //其他
            return true;
        }
        return false;
    }

 

以ATT&CK为例构建网络安全知识图 随着攻击工具、方法的逐渐升级和复杂化,安全数据的大规模融合,攻防对抗愈加激烈。安全团队如何在浩瀚数据中有效发现高级威胁的蛛丝马迹,如何把网络安全专家的经验、知识有效转化为可复制可扩展的数据分析能力,如何将对抗高级威胁的“炼金术”逐步升级为科学淘金指南,如何将安全从业者从繁重的体力劳动中解放出来,愈发成为安全能力亟需突破的难点和重点,也是我们正在探索的方向。正如医疗行业中治疗疑难杂症依赖医疗专家,网络空间高级威胁的防护和处置也依赖安全专家的经验与知识。 阅读详情

相关推荐

EXCEL实现分层自定义比例随机抽样(图+文教程)

EXCEL实现分层自定义比例随机抽样(图+文教程) 单一字段分层自定义比例随机抽样 多字段分层自定义比例随机抽样 单一字段分层自定义比例随机抽样 首先数据源如下,我们想随机抽张三的金额数据10%、李四金额20%、王五5%、哈哈15%、李六10% 首先第一步,添加辅助列,随机数 =RAND() 对数据进行高级排序 升序、降序都可以 添加辅助列...

可乐联盟 2万+

微信公众号网页授权详细步骤

前言 做微信公众号开发,想要拿到用户的基本信息,就需要用户进行网页授权,下面进行踩坑后的详解。 具体步骤概览: 1、引导用户进入授权页面同意授权,获取code,此操作为前端页面负责 2、通过code换取网页授权access_token(此token与之前单独写的调用接口必须的access_token不同),后端提供接口 3、如果需要,开发者可以刷新网页授权access_token,...

进击的Coder菜鸟 9931

从‘查理复用’到TM52F1363:深入剖析5脚188数码管的驱动原理与避坑指南

本文深入解析了5脚188数码管的驱动原理,重点介绍了查理复用技术如何通过5个IO引脚高效驱动188段显示,并详细探讨了TM52F1363单片机的寄存器配置与驱动实现。文章还提供了常见问题的解决方案和性能优化技巧,帮助开发者避免实际应用中的各种陷阱。

weixin_29159441的博客 480

微信公众号授权步骤详细步骤介绍和整合springboot开发(java版)

一、微信公众号授权步骤 首先到微信公众平台注册账号,可以看到有四种类型(服务号,订阅号,小程序,企业微信),用到服务号,而且还需要认证,但注册服务号需要公司的资质,我是注册了一个订阅号(为了后续申请测试号)。 不同的公众号有不同级别的公众号接口权限,详情可以参见微信官公众平台方文档. 从上面文档里可以看到未认证的订阅号没有用户管理-网页授权获取用户openid/用户基本信息这一项的权限。 所以...

好好学java 1万+

FPGA以太网接口设计避坑指南:GMII与RGMII时序转换的三种实现方案对比

本文深入解析FPGA以太网接口设计中GMII与RGMII时序转换的三种实现方案,包括Xilinx官方IP核、手工原语逻辑和开源方案gmii_to_rgmii。通过对比分析各方案的优缺点和适用场景,为工程师提供技术选型指南,帮助避免常见设计陷阱,提升高速网络设备开发的效率和可靠性。

weixin_42570484的博客 386

SikuliX实战:5分钟搞定游戏挂机脚本(附防检测思路与Python集成技巧)

本文详细介绍了如何使用SikuliX快速开发游戏挂机脚本,包括环境配置、基础原理、防检测策略及Python集成技巧。通过实战案例展示如何实现自动化任务、高级防检测方案,并结合Python提升脚本性能与智能度,帮助玩家高效完成重复性游戏操作。

weixin_33228769的博客 335

企业微信开发

需要按照提示,把认证的txt暴露出来,能够访问即可。下图为认证成功的截图。

qq_36382225的博客 1864

CST仿真实例001:圆极化平板天线仿真

CST仿真实例001:圆极化平板天线仿真实例

weixin_47638568的博客 1万+

企微网页授权登录

企业微信提供了OAuth的授权登录方式,可以让从企业微信终端打开的网页获取成员的身份信息,从而免去登录的环节。

weixin_43444514的博客 5207

第6篇:ESP32连接无源喇叭播放音乐《涛声依旧》

相邻两个音之间的倍数是2^(1/12),约等于1.0594630943592952645618252949463)。这样一来,高八度的do频率是低八度do的两倍。我们把频率440赫兹作为中央C ,C调的歌就是把频率440赫兹当作do,乐谱中写作:1=C。一个八度分成12份,八个八度的十二平均音率对应的频率如下(从33Hz到7902Hz)。相邻的两个音之间的差一个半音,12345671之间的间隔分别是“全全半全全全半”。D调的歌就是把从440后面第二个音494赫兹当作do,乐谱中写作1=D。

Txwtech 1424

【芯片设计- RTL 编译与仿真 1.2 -- Visualizer 常用使用命令】

打开波形后,如果想要看到所有信号的数据,可以点击下图中红框中的按钮,因为默认verdi 默认并不是显示所用信号。如果想统计某一个信号中有多少笔数据时,可以使用 Expression->Edege Count 功能。如下图所示,如果没有打开前导0的功能时,当某一笔数据位0时,只会显示1个0。如果需要将波形的数据导出到文本文件时,可以按照下面步骤进行。打开前导0功能之后,会根据数据位宽来显示对应0的个数。

CodingCos的博客 2049

企业号 网页授权 php,微信企业号开发之网页授权接口调用示例

摘要:上一篇总结了微信企业号开发的入门篇,access_token接口调用,这篇咱们来看下微信企业号开发中的网页授权接口调用,这个接口一般都是用来实现微信企业号应用免登录或者获取关注的微信用户的个人信息时会用到。下面摘自微信企业号官方文档:网页授权概述企业微信提供了OAuth的授权登录方式,可以让网页和企业微信共享用户ID,从而免去登录的环节。此文档面向网页开发者介绍企业微信网页授权如何使用及相关...

weixin_39823269的博客 690

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

微信企业号网页授权

<?php header("content-type:text/html;charset=utf-8"); $corpid="xxxxx";//企业的CorpID $corpsecret="xxxxxx";//企业的应用Secret $url="http://www.xxxx.net/qywx.php"; $redirect_uri=urlencode($url);//授权后重...

weixin_30569033的博客 124

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

微信企业号开发之网页授权接口调用示例(二)

摘要:上一篇总结了微信企业号开发的入门篇,access_token接口调用,这篇咱们来看下微信企业号开发中的网页授权接口调用,这个接口一般都是用来实现微信企业号应用免登录或者获取关注的微信用户的个人信息时会用到。 下面摘自微信企业号官方文档: 网页授权 概述 关于网页授权的可信域名 关于UserID机制 接入流程说明 关键步骤 获取code 根据code获取成员信息...

https://gitee.com/micai-code 3万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

企业号 网页授权 php,微信企业号-网页授权

//网页授权获取用户信息public function wxapi(){/*格式js--location.href='http://xxx/api/wxapi/wxapi?redirect_uri='+urlencode('http://xxx/api/wxapi/wxapi')+'&backurl=urlencode(返回到前台地址)';*///判断请求方式if ($this->i...

weixin_30280267的博客 139

微信企业号之构造网页授权链接

一.相关介绍 企业微信提供了OAuth的授权登录方式,可以让网页和企业微信共享用户ID,从而免去登录的环节。 二.网页授权的可信域名 在开始使用网页授权之前,开发者需要先登录到企业管理端后台,选择“企业应用”选项卡,进入需要使用网页授权的应用并编辑“可信域名”表单项,此选项将用于网页OAuth2.0授权的时候进行安全验证。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 htt...

lss0555的博客 6333

laravel下实现微信企业号网页授权

class QyWechatController extends Controller { public $agentid; public $corpId; public $secret; public function __construct() { $this-&gt;agentid = 'xxx'; $this-&...

只有不断总结的人才能不断进步 2395

java 微信企业号 网页_微信企业号java,主页型应用的oauth2验证

一、在主页URL填写回调处理过的URL/*** 1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)* 2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后...

weixin_29830257的博客 181

JAVA版 微信企业号开发 个人总结(微信网页授权例子,微信企业号精准定位,误差5-10米)

java版微信公众号开发总结 案例微信网页授权,企业号精准定位 一、 access_token获取 二、 获取js-sdk的权限,票据jsapi_ticket 三、js-sdk的signature 四、js-sdk前台配置,获取精准的经纬度 五、额外附加 java定时器

LATER 4828

java微信企业号40029_微信公众平台,网页授权及 40029 问题解决

usingSystem;usingSystem.Web;usingNewtonsoft.Json.Linq;usingSystem.Net;usingSystem.IO;usingSystem.Text;public classgetinfos : IHttpHandler {public voidProcessRequest (HttpContext context) {//一切都从这里开始st...

weixin_35916106的博客 284

企业微信中网页授权时redirect_url带有#号跳转不正确

在开发企业微信中的应用程序时要增加扫码登录功能,使用vue写的,因为使用的是hash路由,访问页面路径是带有#的,扫码成功后向redirect_url跳转时,发现了地址里的?和code都在#前面,并且不能跳转到指定页面。对链接进行处理,成功跳转并且code不会出现在#前面了。然后在redirect_url后面的参数用。

qq_45806112的博客 2486

企业号 网页授权 php,20.9.1企业号网页授权

企业号的网页授权和服务号类似,都是先获取code,再根据code来取用户信息。不同的是,对于企业成员获得的是UserID,而非企业成员则是OpenID。企业成员的UserID和OpenID可以互相转换。以下是企业号网页授权代码样例。1 require_once("wxqiye.class.PHP");2 $weixin = new class_wxqiye();34 if (isset($_COO...

weixin_39828193的博客 242

php微信企业号oauth2.0,微信企业号:OAuth2.0微信授权验证

微信企业号:OAuth2.0微信授权验证企业应用中的 URL 链接(包括自定义菜单或者消息中的链接),可以通过 OAuth2.0 验证接口来获取成员的身份信息。使用步骤和方法如下:1、先开发要使用微信授权认证的网页应用,这个网址必须在互联网上。2、生成回调网址企业如果需要员工在跳转到企业网页时带上员工的身份信息,需构造如下的链接:参数说明参数必须说明appid是企业的 CorpIDredirect...

weixin_39861627的博客 612

微信企业号:OAuth2.0微信授权验证

企业应用中的URL链接(包括自定义菜单或者消息中的链接),可以通过OAuth2.0验证接口来获取成员的身份信息。使用步骤和方法如下:   1、先开发要使用微信授权认证的网页应用,这个网址必须在互联网上。 2、生成回调网址 企业如果需要员工在跳转到企业网页时带上员工的身份信息,需构造如下的链接: https://open.weixin.qq.com/connect/oa

xiaojin0816的博客 1万+

驰骋工作流引擎 .net版CCFlow &java版本的JFlow微信微工作台集成配置说明

CCFlow & JFlow微信微工作台集成配置说明 1.创建微工作台 1.先用管理员账号登录微信企业号后台 https://work.weixin.qq.com/ 2.点开应用与小程序。 3.点击创建引用,输入应用名称、选择图标、选择可见范围(可见范围中的部门、人员都属于微信中的通讯录) 4.创建完成。 ...

开源驰骋工作流引擎 1727

企业付款

<?php /** * 关于微信企业付款的说明 * 1.微信企业付款要求必传证书,需要到https://pay.weixin.qq.com 账户中心->账户设置->API安全->下载证书,证书路径在第207行和210行修改 * 2.错误码参照 :https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pa...

weixin_30457881的博客 221
上一篇: 微信分享朋友圈
下一篇: phpexcel-常用命令
弯月liang
博客等级 码龄9年 66粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值