', '<替换为实际的accessKeySecret>') ->regionId("cn-shanghai") ->asDefaultClient(); // 如何设置sts访问日志服务请参考文档:https://help.aliyun.com/document_detail/47277.html $roleArn = ""; $roleArnSession = "slsconsole-session"; $response = Sts::v20150401() ->assumeRole() //指定角色ARN ->withRoleArn($roleArn) //RoleSessionName即临时身份的会话名称,用于区分不同的临时身份 ->withRoleSessionName($roleArnSession) //设置权限策略以进一步限制角色的权限(如果不进行设置默认拥有角色的所有权限),设置权限为角色拥有权限的子集 // 如何编写policy参考工具:https://help.aliyun.com/document_detail/155426.html //->withPolicy("<实际的权限policy>") // 连接超时时间60s ->connectTimeout(60) // 请求超时时间65s ->timeout(65) ->request(); // construct get token url $signInHost = "https://signin.aliyun.com"; $signInTokenUrl = $signInHost."/federation?Action=GetSigninToken" ."&AccessKeyId=".urlencode($response->Credentials->AccessKeyId) ."&AccessKeySecret=".urlencode($response->Credentials->AccessKeySecret) ."&SecurityToken=".urlencode($response->Credentials->SecurityToken) ."&TicketType=mini"; // request signin $curlInit = curl_init(); curl_setopt($curlInit, CURLOPT_URL, $signInTokenUrl); curl_setopt($curlInit, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curlInit); curl_close($curlInit); $signInTokenJson = json_decode($result); $signInToken = $signInTokenJson->SigninToken; // construct final url // Destination为最终嵌入的页面地址,构造说明参考:https://help.aliyun.com/document_detail/103028.html $signInUrl = $signInHost."/federation?Action=Login" ."&LoginUrl=".urlencode("https://www.aliyun.com") ."&Destination=".urlencode("<替换为实际嵌入的SLS控制台页面地址>") ."&SigninToken=".urlencode($signInToken); Header("Location: ".$signInUrl); } catch(ServerException $e) { print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n"; } catch(ClientException $e) { print "Error: " . $e->getErrorCode() . " Message: " . $e->getMessage() . "\n"; } ?>