目录
1.添加腾讯云SDK
在composer.json文件添加腾讯云sdk包,内容如下:
{ "require":{ "qcloud_sts/qcloud-sts-sdk": "3.0.*" } }
然后在 Terminal 或者 命令行 输入:
composer require qcloud-sdk/qcloud-sts-sdk
如果安装失败则换成这个命令:
composer install
2.创建控制器
执行此命令
php artisan make:controller CosStsController
3.在控制器中引入SDK包并初始化
<?php
namespace App\Http\Controllers;
use QCloud\COSSTS\Sts; //引入SDK包
class CosStsController extends Controller
{
//腾讯云cos上传临时密钥
public function getTempKeys()
{
//初始化SDK包
$sts = new Sts();
//配置
$config = [
'url' => 'https://sts.tencentcloudapi.com/',
'domain' => 'sts.tencentcloudapi.com',
'secretId' => 'yourSecretId', // 替换为您的 SecretId
'secretKey' => 'yourSecretKey', // 替换为您的 SecretKey
'bucket' => 'yourBucket', // 替换为您的 bucket
'region' => 'ap-guangzhou', // 替换为您的 bucket 所在地区
'durationSeconds' => 1800, // 密钥有效期,单位/秒,默认半小时
'allowPrefix' => '*', // 临时密钥允许的前缀
'allowActions' => ['name/cos:*'] // 临时密钥允许的操作列表
];
// 传入配置获取cos临时密钥
$result = $sts->getTempKeys($config);
return $result;
}
}
参数配置字段说明:
返回值字段详情:
4.创建路由并调用控制器方法
Route::post('cos/getTempKeys',[\App\Http\Controllers\CosStsController::class,'getTempKeys']);
返回数据示例:
{
"expiredTime": 1589258683,
"expiration": "2020-05-12T04:44:43Z",
"credentials": {
"sessionToken": "Biypn6exa48PpMe7wFerEnNMpBKKPQo180c57e0a5275ebae506d7851a85f36a4P0TV5UFR3FYJjsoZA1tk6uRKoDRzc6-60BmwLqdS75OhjHEa7GlVYpL_ofKQJTpPKziKX7FnI10D_6qtLdjzf2NdsyUtQEd5kPpDCOQJZn9-BpleqWQe8oyH_2u7xi2f0FtjCYaoGIZ_lUqlILXQwr0B0t3hLfL4xNE-EmVjUlUXa16HxVCn4_hJetqo9LmI0AgLOjCbYx9aVrsV10eDsRta-TQSIXmJNP3aJ6oz8d8GBTgTE1I2qSFDnv9pjtQKW8HZWI_glPIfmHXCCwAESxEFL_owGz839Va0qYhF6LkfVmsuoU1zNcvJR1w3cIE6izV3SKHaOtWaew3IOervuOPoN3S2oYGNwv2EavtDAWyUBIeI7X6nMVzlpnyJ-3bkIhOq9QVIQAs8wh5A0u9mvKWugT5t6qgyEgvEZSj9k6p-JjwxMgLC6s5uK1i_nnf4fN7ZQ6I-JAfHnH4jEDiVtJgXqfuWPX_vnzskyR2Co6E",
"tmpSecretId": "AKIDTRPc-oe6c_avPSRwFVsPDyy3IoAr3szMajlOGuoEXY1232YLy6j4f-xZ5zL-NBMG",
"tmpSecretKey": "2v29SZztGYk6SGwHYm\/chJXdD3zPRFasmPoJiCmlR\/I="
},
"requestId": "69ef6295-b981-464d-9816-9c2ef92189d1",
"startTime": 1589256883
}