先看效果:
操作步骤:
登录访问管理 CAM控制台,单击左侧菜单栏中的【角色】,进入角色页面,参考以下步骤
调用AssumeRole接口成功后,获取到角色cls-iframe-demo的临时密钥。
点击调用后,获取Token,TmpSecretId,TmpSecretKey的值,后面要用到
PHP签名代码
<?php
$secretId = "AKI***"; //STS 返回的临时 AK
$secretKey = "Gu5***PLE"; //STS 返回的临时 Secret
$token = "ADE***fds"; //STS 返回的安全 TOKEN
$param["nonce"] = 11886; //rand(10000,100000000);
$param["timestamp"] = 1465185768; //time();
$param["secretId"] = $secretId;
$param["action"] = "roleLogin";
ksort($param);
$signStr = "GETcloud.tencent.com/login/roleAccessCallback?";
foreach ( $param as $key => $value ) {
$signStr = $signStr . $key . "=" . $value . "&";
}
$signStr = substr($signStr, 0, -1);
$signature = base64_encode(hash_hmac("sha1", $signStr, $secretKey, true));
echo $signature.PHP_EOL;
例如我的如下:
执行PHP脚本,获得签名并记录
我这里为了方便查看,手动格式化了下。
https://cloud.tencent.com/login/roleAccessCallback
?nonce=11886
&s_url=https%3A%2F%2Fconsole.cloud.tencent.com%2Fcls%2Fsearch%3Fregion%3Dap-guangzhou%26logset_id%3D4112bd47-518f-4002-a307-af7f9961630d%26topic_id%3Dfca00a2a-cd48-4762-9cc3-124b6ac8a44f%26hideWidget%3Dtrue%26hideTopNav%3Dtrue%26hideLeftNav%3Dtrue
&secretId=AKIDXSit8C62AZsWQugn1NiUuO4lyHxSGzSWw3xSjYQyeXTiMwnS52y9sR7qUH2L9rn2
&signature=q7uN0L9v803PoShb9sXYcwemZJI%3D
×tamp=1641779538
&token=ph1SlyY0oBoE3PKaZ0lHS6GUiW0TTQ8ad6a528c71ba59152fa7c6be85e39b7dd4VLl6GaB0XBZjYLq0yoUopuBzI2IpYuhqCSYSycTsYtIdBSNFaeacIp9Cd8x6zFmED1nHNWcgrjajJHZ7d5Q-ICtPjLLBU1_nLJ4Mys4rCHWIis5TY1aAQ7FIHxTVHqPe0pDdCSeD184hDGgEb2Lnzmii5pUcWCZgbw5iYwqruWfRcogKVbKRlJmrA18qXNW1MYTOKwjFInc7-Sq9akd_kJNoRsZrYYFzOVmkXEAd0zLTMHoGy8phWMkJXsq5eaN-Yuzts1GziY5lVpeMer4uyuFujI4TPKRJWOR5_ZC34oebI0YB32Zzhn2siNQnoxCFi1YUnJr9QDeorsToT1KevHek-MjIFNq7H3iPxACOvzrXBYj5G2xy4yevooxRQ_7
1、nonce的值和timestamp的是是3步骤里的PHP签名代码里的值,s_url的值是按照官网文档拼接后的值,secretId和token是第二步获取到的值,signature是第三步获取的值。
2、参数值需要 urlencode 编码。
3、s_url参数的顺序要按照官网文档里的顺序。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。