腾讯云智聆口语评测getAuthorization 接口说明-教育服务解决方案
接口描述
用于客户端 SDK(Web SDK和 微信 H5)获取临时授权凭证注意建议用户使用子账号密钥 + 环境变量的方式调用 SDK,提高 SDK 使用的安全性。为子账号授权时,请遵循 最小权限指引原则,防止泄漏其他资源。本文将介绍 临时密钥(临时访问凭证)的使用方式,如果您一定要使用永久密钥,建议遵循 最小权限指引原则 对永久密钥的权限范围进行限制。本文示例遵循 最小权限指引原则,仅提供 soe:TransmitOralProcessWithInit
接口权限。
请求方式
GET
请求地址
https://127.0.0.1:8080/getAuthorization (以实际提供接口地址为准)
请求参数
无
响应参数
主要响应参数说明
属性名 | 类型 | 必填 | 参数描述 |
Token | String | 是 | 获取回来的临时密钥的 Token |
TmpSecretId | String | 是 | 获取回来的临时密钥的 TmpSecretId,用于前端计算签名 |
TmpSecretKey | String | 是 | 获取回来的临时密钥的 TmpSecretKey,用于前端计算签名 |
ExpiredTime | String | 是 | 获取回来的临时密钥的 ExpiredTime,过期时间 |
响应示例
{ "Credentials":{ "Token":"kTRt***Jb7m", "TmpSecretId":"AKID****CjE6", "TmpSecretKey":"Eo28***7ps=" }, "Expiration":"2023-06-14T05:06:57Z", "ExpiredTime":1686719217, "RequestId":"59a5e07e-4147-4d2e-a808-dca76ac5b3fd"}
请求示例
请求流程
参考 STS 控制台 或者文档示例获取临时授权凭证,提供 Web 服务,将项目部署上线即可。
服务端SDK | 临时访问凭证示例 |
Python SDk | 临时授权凭证 |
Java SDK | 临时授权凭证 |
PHP SDK | 临时授权凭证 |
Go SDK | 临时授权凭证 |
NodeJS SDK | 临时授权凭证 |
.NET SDK | 临时授权凭证 |
Python 示例
使用 flask 框架,需要使用 pip 安装以下依赖:
tencentcloud-sdk-pythonflaskflask_corsgevent
示例代码:
import jsonfrom flask import Flask, request, render_templatefrom flask_cors import CORSfrom gevent import pywsgi
from tencentcloud.common import credentialfrom tencentcloud.common.profile.client_profile import ClientProfilefrom tencentcloud.common.profile.http_profile import HttpProfilefrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
app = Flask(__name__)
CORS(app) # 允许跨域
@app.route("/getAuthorization", methods=["GET"]) #通过该地址请求接口,只能使用get方法def getAuthorization(): try: # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey cred = credential.Credential("", "")
# 实例化一个http选项,可选的,没有特殊需求可以跳过。 httpProfile = HttpProfile() httpProfile.reqMethod = "POST" # post请求(默认为post请求) httpProfile.reqTimeout = 30 # 请求超时时间,单位为秒(默认60秒) httpProfile.endpoint = "sts.tencentcloudapi.com" # 指定接入地域域名(默认就近接入)
# 实例化一个client选项,可选的,没有特殊r需求可以跳过。 clientProfile = ClientProfile() clientProfile.signMethod = "TC3-HMAC-SHA256" # 指定签名算法(默认为HmacSHA256) clientProfile.unsignedPayload = True clientProfile.httpProfile = httpProfile
from tencentcloud.sts.v20180813 import sts_client, models client = sts_client.StsClient(cred, "ap-guangzhou", clientProfile)
req = models.GetFederationTokenRequest() req.Name = "soe" req.Policy = "{\"version\": \"2.0\",\"statement\": {\"effect\": \"allow\",\"action\": [\"soe:TransmitOralProcessWithInit\"],\"resource\": \"*\"}}" # req.DurationSeconds = 10 # 请求服务,获取结果 resp = client.GetFederationToken(req) json_resp = resp.to_json_string() json_loads = json.loads(json_resp) # json_dumps = json.dumps(json_loads) return json_loads # 回调
except TencentCloudSDKException as err: return err
if __name__ == '__main__': server = pywsgi.WSGIServer(('0.0.0.0', 8080), app) server.serve_forever()
腾讯云官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
发表评论