七牛云 PHP SDK服务器鉴权失败!参数解释

昨天搞了一下午,用7牛官方的SDK demo

1.上传凭证

$policy = array(
    'callbackUrl' => 'http://api.example.com/qiniu/upload/callback',
    'callbackBody' => '{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(x:name)"}',
    'callbackBodyType' => 'application/json'
);
$upToken = $auth->uploadToken($bucket, null, $expires, $policy, true);
print($upToken . "\n");

2.回调鉴权方法

<?php
    require_once __DIR__ . '/../autoload.php';
    use Qiniu\Auth;
    $accessKey = getenv('QINIU_ACCESS_KEY');
    $secretKey = getenv('QINIU_SECRET_KEY');
    $bucket = getenv('QINIU_TEST_BUCKET');
    $auth = new Auth($accessKey, $secretKey);
    //获取回调的body信息
    $callbackBody = file_get_contents('php://input');
    //回调的contentType
    $contentType = 'application/x-www-form-urlencoded';
    //回调的签名信息,可以验证该回调是否来自七牛
    $authorization = $_SERVER['HTTP_AUTHORIZATION'];
    //七牛回调的url,具体可以参考:http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html
    $url = 'http://172.30.251.210/upload_verify_callback.php';
    $isQiniuCallback = $auth->verifyCallback($contentType, $authorization, $url, $callbackBody);
    if ($isQiniuCallback) {
        $resp = array('ret' => 'success');
    } else {
        $resp = array('ret' => 'failed');
    }
    echo json_encode($resp);

服务器已经收到信息 了验证总是failed!

关键说下:

$url 参数是你的服务器 回调的地址:就是上面生成token 你填的回调服务器 地址就是下面的:callbackUrl

$policy = array(
    'callbackUrl' => 'http://api.example.com/qiniu/upload/callback',
    'callbackBody' => '{"key":"$(key)","hash":"$(etag)","fsize":$(fsize),"bucket":"$(bucket)","name":"$(x:name)"}',
    'callbackBodyType' => 'application/json'
);

MADE 文档里都不解释下 各个参数的含义 

我还以为是 “http://172.30.251.210/upload_verify_callback.php” 是固定值?

转载于:https://www.cnblogs.com/zjhblogs/p/9148868.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值