观看页免授权接入
签名说明:
签名是根据相关传递参数以及盟主授权到对方的秘钥,通过 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 | 提示失败原因 |