文档

GetUAIDApplyTokenSign - 获取UAID授权Token的签名值

更新时间:

该API仅提供三网运营商获取UAID能力中,获取授权Token环节的签名功能。

接口说明

该 API 仅提供三网运营商获取 UAID 能力中,获取授权 Token 环节的签名功能

  • 获取授权 Token 的其他必要参数,请参考对应运营商文档自行生成
  • 获取授权 Token 的请求,请参考对应运营商文档,注意需要从用户移动终端的蜂窝移动网络环境下请求
  • 获取授权 Token 请求后,请参考 UAIDVerification 接口进行最终的 UAID 获取。

如何通过客户端/H5 方式请求授权 Token

注意 发起请求授权 Token 时,客户端或 H5 页面必须切换到蜂窝移动网络。

移动(CM)

通信协议:HTTPS + application/Json
方法:POST
地址:https://msg.cmpassport.com/h5/getMobile

请求参数

参数示例:

{ "traceId": "mfawsxtcmyplwzpayzzvdvbsowxmkynr", "appId": "300011580392", "sign": "2c61b3c58ffbeed97461e31be4fd931a", "msgId": "redbyxsdetddwaaffajcwwapspykftzx", "expandParams": "", "businessType": "3", "version": "1.0", "timestamp": "20201125101540980" }

参数描述:

  • version:使用1.0
  • timestamp:请求消息发送的系统时间,精确到毫秒,对应该 API 下方入参Time的内容及其格式,两者需要保持一致
  • appId:使用300012406312
  • businessType:使用3
  • traceId:外部流水号,对应该 API 下方入参OutId的内容,两者需要保持一致
  • sign:调用该 API 获取
  • msgId:外部流水号,对应该 API 下方入参OutId的内容,两者需要保持一致
响应参数

响应示例:
{ "header": { "appId": "300011580392", "msgId": "redbyxsdetddwaaffajcwwapspykftzx", "timestamp": "20201125101607932" }, "body": { "resultCode": "103000", "expandParams": "", "resultDesc": "成功", "token": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01" } }

直接获取body中的token即可。

联通(CU)

分两步获取 token

第一步:获取 authurl

通过第一步请求,获取门户服务器获取鉴权服务器地址authurl

通信协议:HTTPS + application/Json
方法:GRT
地址:https://nisportal.10010.com:9001/api

请求参数

参数示例:
json 方式请求:?appId=1554778161153
jsonp 方式请求:?appId=1554778161153&callback=callbackFunction

参数描述:

  • appId:使用 1554778161153
  • callback:jsonp 回调函数名。仅当使用 jsonp 格式时需要传此参数
响应参数

响应示例:
json 方式请求: {"authurl": "https://enrichgw.10010.com/d93222629f52ec79"}
jsonp 方式请求: callbackFunction({"authurl":"https://enrichgw.10010.com/d93222629f52ec79"})

获取返回结果中的authurl

第二步:获取 token

通信协议:HTTPS + application/Json
方法:GRT
地址:${authurl}+"/api"

请求地址示例:https://enrichgw.10010.com/d93222629f52ec79/api

请求参数

参数示例:
json 方式请求:?appId=1554778161153
jsonp 方式请求:?appId=1554778161153&callback=callbackFunction

参数描述:

  • appId:使用 1554778161153
  • callback:jsonp 回调函数名。仅当使用 jsonp 格式时需要传此参数
响应参数

响应示例:
json 方式请求: { "province": "1", "code": "7nHS1nggx2WP613750206700RN6oiRN1" }
jsonp 方式请求: callbackFunction({"province":"1","code":"7nHS3Dnkd1BS701851092400RN6oiRN1"})

获取返回结果中的code即可。

电信(CT)

通信协议:HTTPS + application/x-www-form-urlencoded;charset=UTF
方法:GET
地址:https://id6.me/gw/preuniq.do

请求参数

参数示例:
?clientType=30100&appId=9390188202&format=json&sign=D63C166FA19E1996EF********09C6A5397C10B4&paramKey=1D7C25EB8B0B8B4CB3CF8DC60628F6549********786B0AF1FEF93FA1335057A35BF5F0B39A3867EAA9BE14B3898********8B01DE34965060445B6E1F66401D714650E4AB161CD6DCF4A72********3B856F22A192B8B0C39D7A55B961062E68C89C928894F119B25********7C548355FE9DB82852EB93C939F2200B48CD17&paramStr=140********95AF8E138B94754CB4CF83BA6FB********52B258BFDFD38BF233&version=1.1

参数描述:

  • appId:使用9390188202
  • clientType:客户端类型,对应该 API 下方入参ClientType的内容,两者需要保持一致
  • format:使用jsonjsonp
  • version:使用1.1
  • sign:调用该 API 获取
  • paramKey:密钥 A 的密文;密钥 A 为接入端随机生成字符串,长度为 16 位;paramKey = RSA1024("${密钥 A}", "${天翼账号平台公钥}");填充模式为RSA/ECB/PKCS1Padding;下载电信 RSA 公钥
  • paramStr:不公开请求参数密文; timeStamp 为时间戳,精确到毫秒,对应该 API 下方入参Time的值,但格式不同(参考值1697791988302);callback 为使用 jsonp 格式时的回调方法,仅当 format 取值为 jsonp 时需要填写。paramStr = AES("timeStamp=${timeStamp}&callback=${callback}", "${密钥 A}");填充模式为AES/CBC/PKCS5Padding,初始向量为0000000000000000
响应参数

响应示例:
callback?result=10000&msg=success&data=a35336711c70456cb883f4f224e9a259

data为加密的业务结果数据,data = AES(业务结果, 密钥 A),使用密钥 A 进行 AES 解密(AES/CBC/PKCS5Padding)。

解密后业务结果示例:
{"accessCode": "H5HTTPS4187AE9743AFCB14F8D99B9D65ED9E01"}

此时获取accessCode即可。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
dytns:GetUAIDApplyTokenSign
  • 全部资源
    *

请求参数

名称类型必填描述示例值
AuthCodestring

授权码。

说明 号码分析服务->标签广场选择标签,提交使用申请,申请通过后,会获得该授权码。
HwD97InG
OutIdstring

外部流水号。

说明 对应移动(CM)运营商中的 traceId、msgId,三者保持一致即可
b8b5b3a*******0b9893484fdf412c99
ClientTypestring

客户端类型。

  • Android:30100
  • IOS:30300
  • H5:20200
  • WEB:10010
30300
ParamKeystring

运营商为电信(CT)时必传,具体参考电信运营商文档。

955EC1A869852EA8BC66F********D7C6E92017BBD5B001C736EFEAFB775C232
ParamStrstring

运营商为电信(CT)时必传,具体参考电信运营商文档。

B2F0D4CD7A216D16CE2AF4BBC********29A454FDDD991F919106C12CB89ABA8
Timestring

事件发生的时间戳,精确到毫秒。
格式:yyyyMMddHHmmssSSS。

20121227180001165
Carrierstring

用户所处的运营商。取值:

  • CM:中国移动。
  • CU:中国联通。
  • CT:中国电信。
CM
Formatstring

请求方式,运营商为电信(CT)时必传。 取值:

  • json
  • jsonp
json

返回参数

名称类型描述示例值
object
AccessDeniedDetailstring

访问被拒绝详细信息。

-
RequestIdstring

请求 ID。

68A40250-50CD-034C-B728-0BD******177
Messagestring

返回状态码描述。

OK
Dataobject

返回结果。

OutIdstring

外部流水号。

b8b5b3a*******0b9893484fdf412c99
Signstring

签名值

D2E204D74EEB373E468632********23F592C4C9
Carrierstring

用户所处的运营商。取值:

  • CM:中国移动。
  • CU:中国联通。
  • CT:中国电信。
CM
Codestring

请求状态码。取值:

  • OK:请求成功。
OK

示例

正常返回示例

JSON格式

{
  "AccessDeniedDetail": "-",
  "RequestId": "68A40250-50CD-034C-B728-0BD******177",
  "Message": "OK",
  "Data": {
    "OutId": "b8b5b3a*******0b9893484fdf412c99",
    "Sign": "D2E204D74EEB373E468632********23F592C4C9",
    "Carrier": "CM"
  },
  "Code": "OK"
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameterInvalid parameter.无效参数
400AuthCodeIllegalIllegal authCode.鉴权时使用的authcode不可用于该接口
500RequestTimeoutRequest supplier timed out.请求供应商超时
500RequestSupplierErrorRequest supplier error.请求第三方服务异常。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
暂无变更历史