文档首页 > > 开发指南> Java> 使用> 认证方式

认证方式

分享
更新时间: 2019/11/15 GMT+08:00

Java SDK支持两种认证方式:token认证和AK/SK认证。

token认证

token认证方式示例代码,请参考“入门”。

token具有24小时有效期,如果您的程序运行时间超过24小时,在使用SDK调用API之前,建议您在程序中重新申请一次token,方法如下:

import com.huawei.openstack4j.openstack.OSFactory;
OSFactory.refreshToken();

AK/SK认证

AK/SK认证方式示例代码,参数详情请参考表1

package demo;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.huawei.openstack4j.api.OSClient.OSClientAKSK;
import com.huawei.openstack4j.core.transport.Config;
import com.huawei.openstack4j.model.compute.Server;
import com.huawei.openstack4j.openstack.OSFactory;

public class Demo {
 
 public static void main(String[] args) {
 
  // 设置认证参数
  String ak = "replace-your-ak";
  String sk = "replace-your-sk";
  String projectId = "replace-your-projectId";
  String region = "replace-your-region"; //example: region = "cn-north-1"
  String cloud = "myhuaweicloud.com";
 
  OSClientAKSK osclient = OSFactory.builderAKSK().credentials(ak, sk, region, projectId, cloud) .authenticate();
 
  // 设置查询参数
  Map<String , String> filter = new HashMap<String, String>();
  // 将需要输入的参数都放入filter里面
  filter.put("limit", "3");
  
  // 调用查询虚拟机列表的接口
  List<? extends Server> serverList = osclient.compute().servers().list(filter);
  if(serverList.size() > 0) 
  {
   System.out.println("get serverList success, size = " + serverList.size());
   for (Server server : serverList) {
    System.out.println(server);
   }
  } 
  else {
   System.out.println("no server exists.");
  }
 }
}
表1 参数说明

名称

说明

取值样例

ak/sk

AK/SK访问密钥。

说明:
  • AK/SK生成说明:登录控制台,进入“我的凭证”,点击“管理访问密钥”创建AK/SK。
  • AK/SK签名时间与UTC时间误差不可以超过15分钟,否则会鉴权失败。
  • AK/SK签名连续失败超过5次,将锁定对应访问的源IP的AK/SK请求,持续5分钟。

-

projectId

项目ID。如何获取项目ID请参考如何获取domain_name、project_name和project_id ?

-

region

区域名称。

cn-north-1

cloud

云平台域名。

myhuaweicloud.com

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区