c#企业微信开发二(回调通知)

本文介绍了如何配置企业微信的回调服务器,包括审批应用和自建应用的回调地址设置,详细阐述了URL、Token、EncodingAESKey的配置说明。回调服务需支持Http Get请求验证,确保URL有效性。
摘要由CSDN通过智能技术生成

1.设置接收事件服务器

1.1 设置入口

目前,支持将审批状态变化通知回调给审批应用、指定的自建应用。
1.1.1 审批应用回调地址设置
企业可以在【管理后台->应用和小程序->审批->API->接收事件服务器】中,设置回调地址,并勾选需要进行状态变化回调通知的审批模板类型。
设置后,回调地址可接收审批应用所有允许进行回调的审批申请相关状态变化通知。
1.1.2 自建应用回调地址设置
企业可在【管理后台->应用管理->审批->API->可调用应用】中,设置可调用审批相关接口的自建应用。
设置后,回调地址可接收自建应用可见范围内成员提交的、审批应用允许进行回调的审批申请相关状态变化通知。
注意:只有在【审批->API->可调用应用】中勾选了的自建应用才可以接收到在【审批->API->接收事件服务器】勾选模板相关的审批申请回调通知。

1.2 配置说明

进入配置页面,要求填写URL、Token、EncodingAESKey三个参数。
URL是企业后台接收企业微信推送请求的访问协议和地址,支持http或https协议(建议使用https),URL后面必须带"/“,否则会报错"openapi回调地址请求不通过”。
Token可由企业任意填写,Token用于计算签名,由英文或数字组成且长度不超过32位的自定义字符串。
EncodingAESKey用于消息体的加密,是AES密钥的Base64编码,由英文或数字组成且长度为43位的自定义字符串。

2. 回调服务需要实现点

配置回调服务时,需要能同时支持HttpGet以及HttpPost两种能力,企业微信会先判断URL服务是否具备解析企业微信推送消息的能力。
具体方式是,企业微信往URL服务上发一条Get请求带签名及密文参数到URL服务上,如果URL服务检查签名通过,并能正确返回密文参数对应的明文字符串,则验证通过。此时在企业微信的配置就开始生效。测试回调地址
后续的业务请求(比如审核,用户消息等),都会类似的方式(签名+密文)向服务URL推送消息。URL服务验证签名通过后,需要将POST数据解密,就可以得到对应的业务消息明文。

2.1 支持Http Get请求验证URL有效性

假设企业的接收消息的URL设置为http://api.test123.com。
请求方式:GET
请求地址:http://api.test123.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS&timestamp=13500001234&nonce=123412323&echostr=1234567890
回调服务需要作出正确的响应才能通过URL验证,具体操作如下:
对收到的请求,解析上述的各个参数值(参数值需要做Urldecode处理)
根据已有的token,结合第1步获取的参数timestamp, nonce, echostr重新计算签名,然后与参数msg_signature检查是否一致,确认调用者的合法性。计算方法参考:消息体签名检验
解密echostr参数得到消息内容(即msg字段)
在1秒内响应GET请求,响应内容为上一步得到的明文消息内容(不能加引号,不能带bom头,不能带换行符)
回调方法如下:

		/// <summary>
        /// 回调通知
        /// </summary>
        /// <returns></returns>
        [HttpGet, HttpPost]
        public async Task<ActionResult> ApproveCallBack(string msg_signature, string timestamp, string nonce, string echostr)
        {
   
            ApproveCallBackInputDTO input = new ApproveCallBackInputDTO();
            input.msg_signature 
企业微信支持第三方应用使用微信授权登录,以下是 C# 实现微信授权登录的大致步骤: 1. 获取授权链接:首先需要通过企业微信开放平台获取授权链接。这个链接包含了应用的 AppID、授权作用域、回调地址等信息。 2. 用户授权:用户通过访问授权链接,进入企业微信的登录页面,输入企业微信账号和密码,完成授权流程。 3. 回调处理:用户完成授权后,企业微信会自动跳转到事先设置好的回调地址,并将授权码或访问令牌等信息传递给回调地址。 4. 获取用户信息:根据回调返回的授权码或访问令牌,可以通过企业微信开放平台提供的接口获取用户信息。 具体实现步骤如下: 1. 定义授权链接和回调地址:在 C# 代码中定义授权链接和回调地址。 2. 生成授权链接:使用 C# 实现代码生成授权链接,并将用户重定向到授权链接。 3. 处理回调请求:当用户完成授权后,企业微信会将授权码或访问令牌等信息传递给回调地址。在 C# 代码中可以通过接收回调请求并处理回调参数来获取授权码或访问令牌。 4. 获取用户信息:根据获取到的授权码或访问令牌,使用企业微信提供的接口获取用户信息。 需要注意的是,企业微信的授权登录流程与微信的授权登录流程类似,但是具体实现细节会有所不同。需要开发者根据具体的需求和企业微信开放平台提供的文档进行实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值