科大讯飞 鉴权教程

<?php

// 定义HmacWithShaTobase64函数,用于生成HMAC-SHA256签名并进行base64编码
function HmacWithShaTobase64($algo, $data, $key) {
    return base64_encode(hash_hmac('sha256', $data, $key, true));
}

// 模拟assembleAuthUrl函数的功能
function assembleAuthUrl($hosturl, $apiKey, $apiSecret) {
    // 解析hosturl
    $urlComponents = parse_url($hosturl);
    $host = $urlComponents['host'];
    $path = $urlComponents['path'];

    // 签名时间
    $date = gmdate('D, d M Y H:i:s \G\M\T');

    // 构建参与签名的字段
    $signString = "host: $host\n";
    $signString .= "date: $date\n";
    $signString .= "GET $path HTTP/1.1";

    // 生成签名
    $sha = HmacWithShaTobase64("hmac-sha256", $signString, $apiSecret);

    // 构建请求参数
    $authUrl = "api_key=\"$apiKey\", algorithm=\"hmac-sha256\", headers=\"host date request-line\", signature=\"$sha\"";

    // 将请求参数进行base64编码
    $authorization = base64_encode($authUrl);

    // 构建请求URL
    $queryParams = http_build_query(array(
        'host' => $host,
        'date' => $date,
        'authorization' => $authorization
    ));

    $callurl = $hosturl . '?' . $queryParams;
    return $callurl;
}

// 调用assembleAuthUrl函数并输出生成的URL
$hosturl = 'wss://iat-api.xfyun.cn/v2/iat';
$apiKey = '你的key';
$apiSecret = '你的Secret';

$generatedUrl = assembleAuthUrl($hosturl, $apiKey, $apiSecret);
echo $generatedUrl;

?>

将上述代码中的
$apiKey = ‘你的key’;
$apiSecret = ‘你的Secret’;
替换成你的,然后服务器访问PHP,即可获的鉴权的连接,直接连接,即可连接到websocket服务器

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值