用lua 生成上传凭证(token),总是报错"bad token"

我生成token的代码:

 function getUploadToken()
        local ACCESSKEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        local SECRETKEY = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        local policy = {}
        local returnBody = '{"key":$(key),"hash":$(etag),"w":$(imageInfo.width),"h":$(imageInfo.height),"size":$(fsize)}'
        
        policy.scope = "nwtop"
        policy.deadline = os.time() + 3600000
        policy.returnBody = returnBody --cjson.encode()
    
        local putPolicy = cjson.encode(policy)
        local encodedPutPolicy  = urlsafe_base64(ngx.encode_base64(putPolicy))
    
        local sign = ngx.hmac_sha1(SECRETKEY,encodedPutPolicy)
        local encodeSign = urlsafe_base64(ngx.encode_base64(sign))
    
        local upload_token = ACCESSKEY .. ":".. encodeSign .. ":" .. encodedPutPolicy
        return upload_token
    end

    function urlsafe_base64(str)
        local _str = str_gsub(str,"+","-")
        _str = str_gsub(_str,"/","_")
        return _str
    end

 哪位大牛看看哪有问题?
阅读 4.3k
2 个回答

是否方便提供下您的token,没有token也无法分析您那里到底是什么问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进