免登陆
流程介绍

一. 准备工作
- 域名以及站点值和Key, 联系提供方获取
- source 来源获取, 联系提供方获取
如对接方提供鉴权方案, 请于提供方沟通免登流程.
二. 免登陆链接
链接因为由提供方负责. 下面是对免登Url链接进行分析
示例链接: http://localhost:8000/addons/yun_shop/?menu#/home?source=common&scope=third_party&i=1&mobile=18611364696×tamp=1736321047&sign=9df00a56a24f63bbcd1ceee85f3c3e34
url + 参数:
http://localhost:8000/addons/yun_shop/?menu#/home + source=common&scope=third_party&i=1&mobile=18611364696×tamp=1736321047&sign=9df00a56a24f63bbcd1ceee85f3c3e34
站点有两个?号. 拼接参数时请注意在 "home?" 之后拼接参数. 以免发生错误.
三. 必填参数
| 参数 | 类型 | 必填 | 值 | 说明 |
|---|---|---|---|---|
| i | string | 是 | 站点唯一值 | 字符串数字 |
| source | string | 是 | common | 来源: 不同对接方参数不一致, common为通用的一种方式 |
| scope | string | 是 | third_party | 免登录标识 |
以上作为免登录的参数,是每个对接方必须填写的参数, 主要给提供方辨认站点入口和确认来源
四. 示例Demo
以下参数为demo示例, 按照通用common来讲, mobile和timestamp是同用免登common的必要参数.
不同对接方参数有所不同. 请沟通之后再由提供方另外提供单独的文档进行对接 ()
举例参数. 链接请参考(二).
以下参数可以由双方进行调整. 这里只是举例说明
| 参数 | 类型 | 必填 | 值 | 说明 |
|---|---|---|---|---|
| mobile | string | 否 | 18611364696 | 手机号 |
| timestamp | string | 否 | 1736321047 | 时间戳 |
| sign | string | 否 | 9df00a56a24f63bbcd1ceee85f3c3e34 | 验签值 |
五. 验签流程
// mobile=18611364696×tamp=1736321047&sign=9df00a56a24f63bbcd1ceee85f3c3e34
// 以php为例
$params = [
"timestamp" => "1736321047"
"mobile" => "18611364696"
];
// key
$key = "Uvc3fokSVh9TmfkRADxeYOJCovo0HxU9";
ksort($params); // 按照键的字典顺序进行升序排序
$signStr = '';
foreach ($data as $key => $value) {
$signStr .= $key . '=' . $value . '&';
}
$signStr .= 'key=' . $key;
$signStr = rtrim($signStr, '&');
// signStr = mobile=18611364696×tamp=1736321047&key=Uvc3fokSVh9TmfkRADxeYOJCovo0HxU9
$hash = hash('sha256', $signStr, true); // sha256 哈希运算 -> 转二进制. 无法还原.
$md5 = md5($hash, true);
echo $md5;
// echo "9df00a56a24f63bbcd1ceee85f3c3e34";
六. 选填参数
选填参数目前只有nickname = 商城用户昵称. 当作为参数传递时, 商城用户昵称显示其对应值.
只会在创建用户的时候进行建立.
七. 其他免登页面
一般提供首页的免登陆, 其他页面的授权请联系提供方开通.
商品详情页
链接:
localhost/addons/yun_shop/?menu#/goods/1?i=1&scope=third_party&mobile=17620803841×tamp=1738846839&sign=39d3ac6bbd76e1de1619de018d6d5923&source=common
请求地址:
localhost/addons/yun_shop/?menu#/goods/{商品id}
携带参数:
i=1
scope=third_party
mobile=17620803841
timestamp=1738846839
sign=39d3ac6bbd76e1de1619de018d6d5923
source=common
订单详情页
链接:
localhost/addons/yun_shop/?menu#/member/orderdetail/358462/shop?i=1&scope=third_party&mobile=17620803841×tamp=1738846839&sign=39d3ac6bbd76e1de1619de018d6d5923&source=common
请求地址:
localhost/addons/yun_shop/?menu#/member/orderdetail/${订单详情id}/shop