完整获取华为云IAM用户Token步骤

查看华为云官方文档,虽然详细,但是很散,对刚刚接触的人不友好,最近项目需要华为云的人脸识别功能,看文档有点头大,很多东西分的很散。
整理了一下:
1、获取IAM用户Token
2、用Token去使用华为云的接口
我的项目是小程序,测试demo如下:

    //获取凭证
    onLoad: function (options) {
      const that = this
      wx.request({
        //项目的真正接口,通过字符串拼接方式实现
        url: "https://iam.cn-east-3.myhuaweicloud.com/v3/auth/tokens",//cn-east-3 为项目名,自己更换自己的
        header: {
          "Content-Type": "application/json;charset=utf8",
        },
        data: {
          "auth": {
            "identity": {
              "methods": [
                "password"
              ],
              "password": {
                "user": {
                  "domain": {
                    "name": ""  //domain  name
                  },
                  "name": "",//华为云user name
                  "password": ""//你华为云账号密码password
                }
              }
            },
            "scope": {
              "project": {
                "name": "cn-east-3"//cn-east-3 为项目名,自己更换自己的
              }
            }
          }
        },
        method: 'POST',
        success: function (res) {
          //直接将返回的数据传入
          // console.log(res.header);//键为"X-Subject-Token"的value 是token ,保存下来加入华为云其他接口请求头

        },
        fail: function (err) {
          console.log(err);
  
        },
      })
    },

在这里插入图片描述
如华为云人脸对比接口:
注:在项目名对于地区开通相应的服务,开通地区不对,请求不了。

 wx.request({
        //项目的真正接口,通过字符串拼接方式实现
        url: "https://face.自己项目名.myhuaweicloud.com/v2/ 这个参数看文档/face-compare",
        header: {
          "Content-Type": "application/json",
          "X-Auth-Token": that.data.token  //这个就是刚才获取到的Token
        },
        data: {
          "image1_url": ,
          "image2_url":        //两个地址都是华为云Obs路径的图片地址 可以看文档
        },
        method: 'POST',
        success: function (res) { 
          if(res.statusCode!=200) return
          // clearTimeout(time)
          wx.hideLoading()
            let {similarity}=res.data//similarity这个为两个图片的相似度 0-1
       
          let num=similarity*100
           that.setData({
            xsdvlaue:num.toFixed(2)
           })
          //直接将返回的数据传入
          // console.log(res);
  
        },
        fail: function (err) {
          console.log(err);
  
        },
      })

最后,如果上面有什么技术问题欢迎指出,如果有什么问题可以私聊我。

### 华为云Token认证凭证的创建方法 在华为云上创建用于身份验证的Token,通常涉及以下几个方面的操作: #### 1. 使用华为云提供的在线工具生成MQTT鉴权三元组 华为云提供了一款在线工具来帮助开发者快速生成MQTT协议所需的鉴权三元组(即用户名、密码和客户端ID)。此功能可以通过访问指定链接完成[^1]。 #### 2. 替换配置文件中的`{project_id}`占位符 为了使API调用能够正常工作,在实际部署前需先登录到自己的账户页面,并找到对应区域(例如:“华北-北京四”)下的具体项目ID。然后将这个真实的项目ID填入相关接口地址或者SDK初始化参数里代替原有的占位字符"{project_id}"[^2]。 #### 3. 获取临时访问令牌(Token) 通过向STS服务发送请求可以获得一个短期有效的安全令牌(Security Token),它允许应用程序代表最终用户执行某些特定的操作而无需暴露长期密钥。以下是Python实现的一个简单例子展示如何利用requests库去交换得到这样的token: ```python import requests from urllib.parse import urlencode def get_sts_token(project_id, ak, sk): endpoint = f"https://iam.{region}.myhuaweicloud.com/v3/auth/tokens" headers = { 'Content-Type': 'application/json', 'X-Sdk-Date': datetime.utcnow().strftime('%Y%m%dT%H%M%SZ') } body = { "auth": { "identity": { "methods": ["aksk"], "aksk": { "access": ak, "secret": sk } }, "scope": { "project": { "id": project_id } } } } response = requests.post(endpoint, json=body, headers=headers) if response.status_code == 201: token = response.headers['X-Subject-Token'] return token else: raise Exception(f"Failed to obtain STS token: {response.text}") # Example usage project_id = "<your_project_id>" ak = "<your_access_key>" sk = "<your_secret_key>" try: sts_token = get_sts_token(project_id, ak, sk) print(sts_token) except Exception as e: print(e) ``` 上述脚本定义了一个函数 `get_sts_token()` 来获取STSM (Security Token Service Management) 的token。注意需要替换掉 `<your_project_id>` , `<your_access_key>` 和 `<your_secret_key>` 这些占位符为你自己账号里的真实数据[^3]。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值