123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace App\Http\Controllers;
- use AliCloud\Core\Profile\DefaultProfile;
- use AliCloud\Core\DefaultAcsClient;
- use AliCloud\Core\Exception\ServerException;
- use AliCloud\Core\Exception\ClientException;
- use AliCloud\STS\AssumeRoleRequest;
- class OssController extends Controller
- {
- public function getSts()
- {
- $regionID = "cn-zhangjiakou";
- $endpoint = "sts.cn-zhangjiakou.aliyuncs.com";
- DefaultProfile::addEndpoint($regionID, $regionID, "Sts", $endpoint);
- $iClientProfile = DefaultProfile::getProfile($regionID, 'LTAIG3B3vMgxdnGg', 'EJY6vwMje1npqZYmIwrmUWlVTiVW18');
- $client = new DefaultAcsClient($iClientProfile);
-
- $roleArn = "acs:ram::1211062998797452:role/ramoss-sts";
-
-
- $policy = <<<POLICY
- {
- "Statement": [
- {
- "Action": [
- "oss:Get*",
- "oss:List*",
- "oss:Put*"
- ],
- "Effect": "Allow",
- "Resource": "*"
- }
- ],
- "Version": "1"
- }
- POLICY;
- $request = new AssumeRoleRequest();
-
- $request->setRoleSessionName("alice");
- $request->setRoleArn($roleArn);
- $request->setPolicy($policy);
- $request->setDurationSeconds(3600);
- try {
- $response = $client->getAcsResponse($request);
- $result['region'] = $regionID;
- $result['accessKeyId'] = $response->Credentials->AccessKeyId;
- $result['accessKeySecret'] = $response->Credentials->AccessKeySecret;
- $result['stsToken'] = $response->Credentials->SecurityToken;
- $result['bucket'] = 'uptoyo';
- return $this->jsonSuccess($result);
- } catch (ServerException $e) {
- return jsonError($e->getMessage());
- } catch (ClientException $e) {
- return jsonError($e->getMessage());
- }
- }
- }
|