临时密钥使用指导
概述
腾讯云官网的SecretId 和 SecretKey是属于您的重要财产。在使用OCR业务时需要利用SecretId 和 SecretKey去进行认证签名计算,但是如果将SecretId 和 SecretKey写死在SDK的代码当中存在极大的泄露风险。因此,我们在支持使用固定密钥的同时,提供了一种使用临时密钥的方式。SDK可以使用临时密钥进行认证签名计算,去请求OCR识别接口。兑换的临时密钥具有时效性,可以大大降低SecretId 和 SecretKey泄露的风险。
临时密钥兑换流程
临时密钥兑换流程图如下所示:
如图所示临时密钥兑换的流程大致可描述为:
- 用户的客户端主动请求用户的服务器端来获取临时密钥。
- 用户的服务器接收到客户端请求后,将储存在服务器端的固定密钥作为参数去请求CAM服务,进行临时密钥兑换。
- CAM服务下发临时密钥给用户服务器。
- 用户服务器在接收到CAM服务生成的临时密钥以后,将此临时密钥下发到用户的客户端。
- 客户端获取到服务器下发的临时密钥后,调用SDK提供的更新临时密钥的接口将临时密钥更新。然后客户端SDK会使用更新后的临时密钥,去请求OCR服务。
一、OCR请求临时秘钥示例
api秘钥地址:https://console.cloud.tencent.com/cam/capi
获取联合身份临时访问凭证(临时秘钥获取文档):https://cloud.tencent.com/document/product/1312/48195
Policy入参中,OCR策略示例如下:
{ "version": "2.0", "statement": [ { "action": [ "ocr:*" ], "resource": "*", "effect": "allow" } ] } 注意:编码前需要改下格式,如: { "version": "2.0", "statement": [{"action": ["ocr:*"],"resource": "*","effect": "allow"}]} 进行urlencode编码: %7b+%22version%22%3a+%222.0%22%2c+%22statement%22%3a+%5b%7b%22action%22%3a+%5b%22ocr%3a*%22%5d%2c%22resource%22%3a+%22*%22%2c%22effect%22%3a+%22allow%22%7d%5d%7d
在线API Explorer地址:https://console.cloud.tencent.com/api/explorer?Product=sts&Version=2018-08-13&Action=GetFederationToken&SignVersion=
测试结果:
二、临时秘钥测试请求-文字识别服务示例
用临时秘钥调用ocr服务:https://console.cloud.tencent.com/api/explorer?Product=ocr&Version=2018-11-19&Action=GeneralBasicOCR&SignVersion=
需要点击更多选项,输入对应的Token值,Token有效期内调用成功(仅支持老版本的api exploer工具,目前推荐使用SDK代码提测)
注:Token有效期在“获取联合身份临时访问凭证”接口中设置(字段:DurationSeconds):默认1800秒,主账号最长可设定有效期为7200秒,子账号最长可设定有效期为129600秒。
Token过期后调用OCR失败:
对您有帮助,记得给我小编一个赞!
原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/212363.html