签名说明:

签名是根据相关传递参数以及盟主授权到对方的秘钥,通过 MD5 加密生成。 本文档中 所有接口均需增加对应的签名,签名通过 QueryString 中的 sign 参数传递。

PHP 签名生成示例

<?php
/**
 * 生成盟主自定义授权url
 *
 * @param string $appId  盟主平台获取
 * @param string $appSecret  盟主平台获取
 * @param array $params  请求参数,详情见参数说明
 * @param int $expired 过期时间(秒)
 * @return string  自定义授权url
 */
function createCustomAuthUrl ($appId, $appSecret, $params, $expired = 60) {
    $params = array_merge($params, ['appid'=>$appId, 'expired' => $expired]);
    $urlSuffix = 'u.zmengzhu.com/open/authorize/login?'. http_build_query($params);
    $sign = md5($urlSuffix . $appSecret);
    return ('https://'.$urlSuffix.'&sign='.$sign);
}
// 示例
$appId = '10000001'; // 盟主平台获取
$appSecret = 'secret'; // 盟主平台获取
$params = [
    'third_uid'     => 'mengzhu_123456', // 第三方平台用户uid
    'nickname'      => '用户昵称',
    'avatar'        => 'https://s1.zmengzhu.com/upload/img/93/50/935051575bd69ba5dcfd28a814ee0c87.png', // 用户头像
    'is_embed'      => 0, // 是否为iframe嵌入
    'is_other_auth' => 1,
    'callback'      => 'https://v.zmengzhu.com/play/10268928?mod=play' // 授权成功后回跳地址
];
$authUrl = createCustomAuthUrl($appId, $appSecret, $params, 60);
echo $authUrl;

盟主授权跳转

  • 请求地址: https://u.zmengzhu.com
  • 接口地址: /open/authorize/login
  • 请求方式: GET
  • 请求完整地址示例: https://u.zmengzhu.com/open/authorize/login?appid=1000001&sign=026374e68f3a2ff0e673c90710e67b62&nickname=yut&third_uid=2133&avatar=http://icon.nipic.com/BannerPic/20181224/original/20181224084940_1.jpg&callback=https%3a%2f%2fwww.zmengzhu.com%2fchannel%2f2004628%3finviter%3d2327358&is_embed=0&is_other_auth=1
  • 数据编码:提交编码 UTF-8,返回编码 UTF-8

请求参数

  • 参数说明
参数名 是否必须 类型 说明
appid varchar(20) 授权 appid
nickname varchar(50) 第三方用户昵称
avatar varchar(100) 第三方用户头像
third_uid Int 第三方用户uid
callback varchar(255) 授权成功后跳转地址需要 url 编码
sign varchar(32) 根据签名方法生成签名字段
is_embed Int Iframe为1,其他为0
is_other_auth Int 1返回atom用户认证数据,

注意:is_embed 和 is_other_auth都为1时,用户为临时会话状态,非登录状态。此时访问其他页面是可能会提示未登录。

  • 返回结果:
结果 字段含义
Success 跳转 Callback 地址
Fail 提示失败原因