zoukankan      html  css  js  c++  java
  • 七牛云 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 . "
    ");

    2.回调鉴权方法

    <?php
        require_once __DIR__ . '/../autoload.php';
        use QiniuAuth;
        $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” 是固定值?

  • 相关阅读:
    关于虚析构函数的作用和使用
    CXF实战之拦截器Interceptor(四)
    基于AngularJS的个推前端云组件探秘
    《python源代码剖析》笔记 python中的List对象
    STL 笔记(四) 迭代器 iterator
    <html>
    Android蓝牙BLE低功耗相关简单总结
    错误: -source 1.6 中不支持 diamond 运算符
    IDEA将指定package(指定文件)打成jar包
    清理收藏夹中的json
  • 原文地址:https://www.cnblogs.com/zjhblogs/p/9148868.html
Copyright © 2011-2022 走看看