请求标头
请求标头
Headers 参数
参数名 | 类型 | 是否必传 | 说明 |
---|---|---|---|
X-Fresns-App-Id | String | YES | 密钥 App ID 密钥位置: 控制面板->应用中心->应用密钥 |
X-Fresns-Client-Platform-Id | Number | YES | 平台编号,与密钥的「平台」匹配 密钥位置: 控制面板->应用中心->应用密钥 查看平台对应的 ID 编号 |
X-Fresns-Client-Version | String | YES | 你的客户端版本号,推荐使用语义化版本号 |
X-Fresns-Client-Device-Info | String | YES | 交互设备信息 session_logs > device_info 压缩 Object 信息为字符串传参 |
X-Fresns-Client-Lang-Tag | String | NO | 客户端的语言标签(留空则输出默认语言) 配置位置: 控制面板->系统->语言设置 |
X-Fresns-Client-Timezone | String | NO | UTC 时区(留空则使用默认时区) 配置位置: 控制面板->系统->站点设置 用户登录后,如果留空,则服务端自动以用户配置的时区处理时间格式 |
X-Fresns-Client-Content-Format | String | NO | 内容格式(帖子和评论的列表与详情),留空则原样输出。 传参 html 将内容转换为 html 格式(文本内容的 \n 转换为 <br/> ,Markdown 内容转换为 HTML ) |
X-Fresns-Aid | String | YES/NO | 账号参数(留空则视为未登录账号) |
X-Fresns-Aid-Token | String | YES/NO | 账号身份凭证(传参 aid 时必传) |
X-Fresns-Uid | Number | YES/NO | 用户参数(留空则视为未登录用户) |
X-Fresns-Uid-Token | String | YES/NO | 用户身份凭证(传参 uid 时必传) |
X-Fresns-Signature | String | YES | 查看签名生成规 则 |
X-Fresns-Signature-Timestamp | String | YES | 签名生成时间(当前 Unix 时间戳,精确到秒或毫秒都支持) |
注册和登录流程
1.
data.detail.aid
data.sessionToken.token
2.
data.detail.users
1
个2
个及以上 呈现「选择用户」视图
3.
data.detail.users.hasPassword
呈现「密码输入框」视图
4.
data.detail.uid
data.sessionToken.token
5.
当账号名下只有 1 个用户,并且无密码,建议直接让用户无感知的登录成功。
运行模式介绍
site_mode
public
private
/api/v2/global/configs?keys=site_mode
aid
必传,表示必须登录账号
才能请求该接口,此时 token
参数为账号的 token
uid
必传时,aid
也必传,表示必须登录「账号的用户」才能请求该接口,此时 token
参数为用户的 token
签名生成规则
App\Helpers\SignHelper::makeSign($signMap, $appSecret)
// 未登录
{
"X-Fresns-App-Id": "yh1OJ7WL",
"X-Fresns-Client-Platform-Id": 2,
"X-Fresns-Client-Version": "2.0.0",
"X-Fresns-Signature-Timestamp": 1674161913192
}
// 已登录账号
{
"X-Fresns-App-Id": "yh1OJ7WL",
"X-Fresns-Client-Platform-Id": 2,
"X-Fresns-Client-Version": "2.0.0",
"X-Fresns-Aid": "wIfu6jaF",
"X-Fresns-Aid-Token": "uoX1hk6SHUgB2MFGJwNx38dem9DA7Vsz",
"X-Fresns-Signature-Timestamp": 1674161913192
}
// 已登录用户
{
"X-Fresns-App-Id": "yh1OJ7WL",
"X-Fresns-Client-Platform-Id": 2,
"X-Fresns-Client-Version": "2.0.0",
"X-Fresns-Aid": "wIfu6jaF",
"X-Fresns-Aid-Token": "uoX1hk6SHUgB2MFGJwNx38dem9DA7Vsz",
"X-Fresns-Uid": 782622,
"X-Fresns-Uid-Token": "PqBpwPLJgfd1sH0X5JffYFGxTSc8RW7c",
"X-Fresns-Signature-Timestamp": 1674161913192
}
{
"X-Fresns-App-Id": "yh1OJ7WL",
"X-Fresns-Client-Platform-Id": 2,
"X-Fresns-Client-Version": "2.0.0",
"X-Fresns-Aid": "wIfu6jaF",
"X-Fresns-Aid-Token": "uoX1hk6SHUgB2MFGJwNx38dem9DA7Vsz",
"X-Fresns-Uid": 782622,
"X-Fresns-Uid-Token": "PqBpwPLJgfd1sH0X5JffYFGxTSc8RW7c",
"X-Fresns-Signature-Timestamp": 1674161913192
}
X-Fresns-Aid=wIfu6jaF&X-Fresns-Aid-Token=uoX1hk6SHUgB2MFGJwNx38dem9DA7Vsz&X-Fresns-App-Id=yh1OJ7WL&X-Fresns-Client-Platform-Id=2&X-Fresns-Client-Version=2.0.0&X-Fresns-Signature-Timestamp=1674161913192&X-Fresns-Uid=782622&X-Fresns-Uid-Token=PqBpwPLJgfd1sH0X5JffYFGxTSc8RW7c
&AppSecret={app_secret}
得到待签名字符串。X-Fresns-Aid=wIfu6jaF&X-Fresns-Aid-Token=uoX1hk6SHUgB2MFGJwNx38dem9DA7Vsz&X-Fresns-App-Id=yh1OJ7WL&X-Fresns-Client-Platform-Id=2&X-Fresns-Client-Version=2.0.0&X-Fresns-Signature-Timestamp=1674161913192&X-Fresns-Uid=782622&X-Fresns-Uid-Token=PqBpwPLJgfd1sH0X5JffYFGxTSc8RW7c&AppSecret=qUiEaDNQh2IpvGHOKlTMx7ujn8t1CZWX
2174eaeab76fb6a3790ed4f7ebb2edfb