网站开发动态,新闻发布网站如果做,搜狗网站收录,爱站工具包前置数据参考 数据说明#xff1a;参见官方文档回调事件消息体加解密 - 钉钉开放平台 (dingtalk.com)
URL后面带的参数#xff1a; signature5a65ceeef9aab2d149439f82dc191dd6c5cbe2c0timestamp1445827045067noncenEXhMP4r Post参数#xff1a; { 参见官方文档回调事件消息体加解密 - 钉钉开放平台 (dingtalk.com)
URL后面带的参数 signature5a65ceeef9aab2d149439f82dc191dd6c5cbe2c0timestamp1445827045067noncenEXhMP4r Post参数 { encrypt:1a3NBxmCFwkCJvfoQ7WhJHBiX3qHPsc9JbaDznE1i03peOk1LaOQoRz3nlyGNhwmwJ3vDMGOzrHMeiZI7gTRWVdUBmfxjZ8Ej23JVYa9VrYeJ5as7XM/ZpulX8NEQis44w53h1qAgnC3PRzM7Zc/D6Ibr0rgUathB6zRHP8PYrfgnNOS9PhSBdHlegKAGGanfwjXuQ90pZcy0w9lQ } Env.TOKEN123456
Env.ENCODING_AES_KEY4g5j64qlyl3zvetqxz5jiocdr586fn2zvjpa8zls3ij
Env.KEYsuite4xxxxxxxxxxxxxxx
代码info_return.php
?php
define( TOKEN, 123456 );
define( ENCODING_AES_KEY, 4g5j64qlyl3zvetqxz5jiocdr586fn2zvjpa8zls3ij );
define( SUITE_KEY, suite4xxxxxxxxxxxxxxx );
// 包含 DingtalkCrypt 类
require_once DingtalkCrypt.php;$signature $_GET[ signature ];
$timeStamp $_GET[ timestamp ];
$nonce $_GET[ nonce ];
// $postdata file_get_contents( php://input );
// $postList json_decode( $postdata, true );
// $encrypt $postList[ encrypt ];
$encrypt 1a3NBxmCFwkCJvfoQ7WhJHBiX3qHPsc9JbaDznE1i03peOk1LaOQoRz3nlyGNhwmwJ3vDMGOzrHMeiZI7gTRWVdUBmfxjZ8Ej23JVYa9VrYeJ5as7XM/ZpulX8NEQis44w53h1qAgnC3PRzM7Zc/D6Ibr0rgUathB6zRHP8PYrfgnNOS9PhSBdHlegKAGGanfwjXuQ90pZcy0w9lQ;
$crypt new DingtalkCrypt( TOKEN, ENCODING_AES_KEY, SUITE_KEY );$msg ;
$errCode $crypt-DecryptMsg( $signature, $timeStamp, $nonce, $encrypt, $msg );if ( $errCode ! 0 ) {echo ( json_encode( $_GET ) . ERR: . $errCode );/*** 创建套件时检测回调地址有效性使用CREATE_SUITE_KEY作为SuiteKey*/// $crypt new DingtalkCrypt( TOKEN, ENCODING_AES_KEY, CREATE_SUITE_KEY );// $errCode $crypt-DecryptMsg( $signature, $timeStamp, $nonce, $encrypt, $msg );if ( $errCode 0 ) {// echo( DECRYPT CREATE SUITE MSG SUCCESS . json_encode( $_GET ) . . $msg );$eventMsg json_decode( $msg );$eventType $eventMsg-EventType;if ( check_create_suite_url $eventType ) {$random $eventMsg-Random;$testSuiteKey $eventMsg-TestSuiteKey;$encryptMsg ;$errCode $crypt-EncryptMsg( $random, $timeStamp, $nonce, $encryptMsg );if ( $errCode 0 ) {echo ( CREATE SUITE URL RESPONSE: . $encryptMsg );echo $encryptMsg;} else {echo ( CREATE SUITE URL RESPONSE ERR: . $errCode );}} else {// should never happened}} else {echo ( json_encode( $_GET ) . CREATE SUITE ERR: . $errCode );}return;
} else {/*** 套件创建成功后的回调推送*/// echo( DECRYPT MSG SUCCESS . json_encode( $_GET ) . . $msg );$eventMsg json_decode( $msg );$eventType $eventMsg-EventType;/*** 套件ticket*/if ( suite_ticket $eventType ) {Cache::setSuiteTicket( $eventMsg-SuiteTicket );}/*** 临时授权码*/else if ( tmp_auth_code $eventType ) {$tmpAuthCode $eventMsg-AuthCode;Activate::autoActivateSuite( $tmpAuthCode );}/*** 授权变更事件*//*user_add_org : 通讯录用户增加user_modify_org : 通讯录用户更改user_leave_org : 通讯录用户离职org_admin_add 通讯录用户被设为管理员org_admin_remove 通讯录用户被取消设置管理员org_dept_create 通讯录企业部门创建org_dept_modify 通讯录企业部门修改org_dept_remove 通讯录企业部门删除org_remove 企业被解散*/ else if ( user_add_org $eventType ) {echo ( json_encode( $_GET ) . ERR:user_add_org );// handle auth change event} else if ( user_modify_org $eventType ) {echo ( json_encode( $_GET ) . ERR:user_modify_org );// handle auth change event} else if ( user_leave_org $eventType ) {echo ( json_encode( $_GET ) . ERR:user_leave_org );// handle auth change event}/*** 应用被解除授权的时候需要删除相应企业的存储信息*/else if ( suite_relieve $eventType ) {$corpid $eventMsg-AuthCorpId;ISVService::removeCorpInfo( $corpid );// handle auth change event} else if ( change_auth $eventType ) {// handle auth change event}/*** 回调地址更新*/else if ( check_update_suite_url $eventType ) {$random $eventMsg-Random;$testSuiteKey $eventMsg-TestSuiteKey;$encryptMsg ;$errCode $crypt-EncryptMsg( $random, $timeStamp, $nonce, $encryptMsg );if ( $errCode 0 ) {// echo( UPDATE SUITE URL RESPONSE: . $encryptMsg );echo $encryptMsg;return;} else {// echo( UPDATE SUITE URL RESPONSE ERR: . $errCode );}} else {// should never happen}$res success;$encryptMsg ;$errCode $crypt-EncryptMsg( $res, $timeStamp, $nonce, $encryptMsg );if ( $errCode 0 ) {echo $encryptMsg;// echo( RESPONSE: . $encryptMsg );} else {// echo( RESPONSE ERR: . $errCode );}
}