aliyun oss sts授权访问Can not find e

2021-03-16  本文已影响0人  Kamiya_

官方文档 - STS临时授权访问

STS的优势如下:

项目场景:给客户端临时Token
遇到的错误:Can not find endpoint to access
解决办法:aliyun-java-sdk-core包版本问题,我这里从3.7.1改为3.0.0就好了
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-sts</artifactId>
  <version>3.0.0</version>
</dependency>
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>3.0.0</version>
</dependency>

其他需要注意的问题:


贴个代码
// 创建一个 Aliyun Acs Client, 用于发起 OpenAPI 请求
IClientProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(profile);

// 创建一个 AssumeRoleRequest 并设置请求参数
final AssumeRoleRequest request = new AssumeRoleRequest();
//请求方式
request.setMethod(com.aliyuncs.http.MethodType.POST);
request.setProtocol(com.aliyuncs.http.ProtocolType.HTTPS);
//角色Arn
request.setRoleArn(roleArn);
//用来标识临时访问凭证的名称 可根据客户端+用户id生成
request.setRoleSessionName(roleSessionName);
//额外权限, 可为null
request.setPolicy(policy);
//设置临时访问凭证的有效期,单位是秒,最小值为900
request.setDurationSeconds(durationSeconds);
final AssumeRoleResponse response = client.getAcsResponse(request);
//token
System.out.println("SecurityToken:" + response .getCredentials().getSecurityToken()));

上一篇下一篇

猜你喜欢

热点阅读