php微服务-# 访问概览

2023-08-23 0 6,253 百度已收录

访问概览

开发者接入微信公众平台开发需要完成以下步骤:

1.填写服务器配置

2.验证服务器地址的有效性

3.根据socket文档实现业务逻辑

下面详细描述这三个步骤。 (如果您已经有小程序,并且开启了小程序云开发,您还可以通过公众号环境共享能力在公众号中使用云开发。)

第一步:填写服务器配置

php微服务-# 访问概览

登录微信公众平台官网后php微服务,在公众平台官网开发-基础设置页面,勾选成为开发者合约,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者自带的用于接收Momo新闻和事件的socket URL。 Token可以由开发者任意填写,用于生成签名(该Token会与socket URL中包含的Token进行比较,以验证安全性)。 EncodingAESKey由开发者自动填写或随机生成,将作为消息体加解密密钥。

同时,开发者可以选择消息加解密模式:明文模式、兼容模式和安全模式。 模式选择和服务器配置将在提交后立即生效。 请开发者认真填写、选择。 加解密模式默认状态为明文模式。 选择兼容模式和安全模式需要提前配置相关的加解密代码。 具体请参考消息体签名及加密解密文档。

步骤2:验证消息确实来自Momo服务器

开发者提交信息后,微信服务器会向填写的服务器地址的URL发送GET请求。 GET请求携带的参数如下表所示:

php微服务-# 访问概览

参数说明

签名

微信加密签名,签名结合了开发者填写的token参数和请求中的时间戳参数和nonce参数。

时间戳

时间戳

php微服务-# 访问概览

随机数

随机数

回声

随机字符串

开发者通过检查签名来校准请求(下面有校准方法)。 如果确认GET请求来自Momo服务器,请原样返回echostr参数的内容php微服务,则访问生效,成功成为开发者,否则访问失败。 加密/验证过程如下:

php微服务-# 访问概览

1)将token、timestamp、nonce三个参数按照字典顺序排序

2)将三个参数字符串拼接成一个字符串进行sha1加密

3)开发者得到的加密字符串可以与签名进行比对,表明该请求来自Momo

检查签名的 PHP 示例代码:

private function checkSignature()
{
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
	
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );
    
    if( $tmpStr == $signature ){
        return true;
    }else{
        return false;
    }
}

PHP示例代码下载:下载

第三步:根据socket文档实现业务逻辑

验证URL合法性后,访问生效,您将成为开发者。 您可以在公众平台网站申请Momo认证。 认证成功后,您将获得更多的socket权限,以满足更多的业务需求。

成为开发者后,用户每次向公众号发送消息,或者形成自定义菜单,或者形成微信支付订单等,开发者填写的服务器配置URL都会获取到由开发者推送的消息和事件。莫莫服务器。 您可以根据自己的业务逻辑进行响应,例如回复消息。

公众号调用各个socket时,一般都会得到正确的结果,具体结果可以参见对应socket的描述。 当返回错误时,可以根据返回码查询错误原因。全局返回码说明

当用户向公众号发送消息时,公众号收到的消息的发送者是一个OpenID,它是使用用户的微信ID加密的结果。 每个用户的每个公众号都有一个唯一的OpenID。

另外,由于开发者经常需要在多个平台(移动应用、网站、公众号)之间共享用户账号并统一账号体系,微信开放平台(open.weixin.qq.com)提供了UnionID机制​​。 开发者可以通过OpenID获取用户基本信息,如果开发者拥有多个应用(移动应用、网站应用和公众号,公众号绑定微信开放平台账号后才会获取UnionID),可以保证用户的唯一性通过获取用户基本信息中的UnionID来区分,因为只要是同一个微信开放平台账号下的联通应用、网站应用、公众号,用户的UnionID都是唯一的。 也就是说,同一用户在同一个微信开放平台账号下的不同应用,拥有相同的UnionID。 详情请查看微信开放平台资源中心-移动应用开发-微信登录-授权关系Socket调用指南-获取用户个人信息(UnionID机制​​)。

另请注意,微信公众号socket必须以or开头,分别支持80端口和443端口。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php微服务-# 访问概览 https://www.wkzy.net/game/145408.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务