菜单

生成无感登录地址(混合访问或授权访问)

下载

场景介绍:

站点的访问权限设置为 混合访问或授权访问,  可使用我方提供的示例(php,python,nodejs)来生成一个链接, 只需要引导用户点击链接即可完成访客登录鉴权, 从而达到省略接收验证码的鉴权流程的效果。

需要先在设置-用户与安全-访客与分组中添加访客用户信息

 

注意点: 示例中的token,只能使用默认的API令牌,不能使用新增的令牌。

 

php示例

<?php
$token = ''; // 设置->知识库后台->API令牌->默认Token
$email = ''; // 邮箱
$phone = ''; // 手机号
$timestamp = time(); // 当前系统时间戳(秒)  用于我方控制此链接的有效期, 默认有效期为1个月
$website = 'https://{自定义域名}'; // 帮助中心域名, https不能省略
$slug = ''; // 文章路径,非必须,不传登录成功会跳转至首页,传输则会跳转至具体的文章

$secret = hash("sha256", $email . $phone . $timestamp . $token);
echo $website . "/access?email=$email&phone=$phone&timestamp=$timestamp&secret=$secret&slug=$slug";

*邮箱和手机号可二选一

 

python示例

import hashlib
import time

token = ''  # 设置->知识库后台->API令牌->默认Token
email = ''  # 邮箱
phone = ''  # 手机号
timestamp = int(time.time())  # 当前系统时间戳(秒) 用于我方控制此链接的有效期,默认有效期为1个月
website = 'https://{自定义域名}'  # 帮助中心域名,https不能省略
slug = ''; # 文章路径,非必须,不传登录成功会跳转至首页,传输则会跳转至具体的文章

secret = hashlib.sha256((email + phone + str(timestamp) + token).encode()).hexdigest()
print(website + f"/access?email={email}&phone={phone}&timestamp={timestamp}&secret={secret}&slug={slug}")

 

nodejs示例

const crypto = require('crypto');

const token = ''; // 设置->知识库后台->API令牌->默认Token
const email = ''; // 邮箱
const phone = ''; // 手机号
const timestamp = Math.floor(Date.now() / 1000); // 当前系统时间戳(秒) 用于我方控制此链接的有效期,默认有效期为1个月
const website = 'https://{自定义域名}'; // 帮助中心域名,https不能省略
const slug = ''; // 文章路径,非必须,不传登录成功会跳转至首页,传输则会跳转至具体的文章

const secret = crypto.createHash('sha256').update(email + phone + timestamp + token).digest('hex');
console.log(`${website}/access?email=${email}&phone=${phone}&timestamp=${timestamp}&secret=${secret}&slug=${slug}`);

 

 

生成的链接示例

https://{自定义域名}/access?email=&phone=timestamp=1711357679&secret=653b37b44291f43298f7fa1290722f96cb20a7999d93c5f5ae1fb6329bb6ebd3

 

上一个
SSO单点登录API
下一个
推广计划
最近修改: 2025-08-13Powered by