开发者社区> 问答> 正文

OSS使用URL签名访问图片资源时,不同的样式都需要重新签名一次吗

已解决

展开
收起
2018-03-11 21:54:34 1873 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

       1.根据域名本有的access key ID来生成

    function Signatureurl(){

           $ak="ak";

           $sk="sk";

           $domain="http://www.a.com/";//图片域名或bucket域名

           $expire=time()+3600;

           $bucketname="buname";

           $file="mulu/1.jpg@100h";//或者"mulu/1.jpg@!样式名或者 mulu/1.jpg”

           $StringToSign="GET\n\n\n".$expire."\n/".$bucketname."/".$file;

           $Sign=base64_encode(hash_hmac("sha1",$StringToSign,$sk,true));

           $url=$domain.urlencode($file)."?OSSAccessKeyId=".$ak."&Expires=".$expire."&Signature=".urlencode($Sign);

           echo $url."\n";

    }

    2. 根据临时账户密码安全token获取签名URL,目前只支持bucket源域名及bucket绑定的域名,图片服务域名暂时不支持临时账户ID来签名URL访问

    function Signaturestsurl(){

           $ak="stsak";

           $sk="stssk";

           $token="token";

           $domain="http://www.a.com/";

           $expire=time()+3600;

           $bucketname="buname";

           $file="mulu/1.jpg";

           $StringToSign="GET\n\n\n".$expire."\n/".$bucketname."/".$file."?security-token=".$token;

           $Sign=base64_encode(hash_hmac("sha1",$StringToSign,$sk,true));

           $url=$domain.urlencode($file)."?OSSAccessKeyId=".$ak."&Expires=".$expire."&Signature=".urlencode($Sign)."&security-token=".urlencode($token);

           echo $url."\n";

    }

    如果问题还存在,请联系阿里云售后支持

     

    2018-03-13 22:25:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载