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

*全部资源

*

请求参数

名称

类型

必填

描述

示例值

AuthCode

string

授权码。

说明

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

HwD97InG

OutId

string

外部流水号。

说明

对应移动(CM)运营商中的 traceId、msgId,三者保持一致即可

b8b5b3a*******0b9893484fdf412c99

ClientType

string

客户端类型。

  • Android:30100

  • IOS:30300

  • H5:20200

  • WEB:10010

30300

ParamKey

string

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

955EC1A869852EA8BC66F********D7C6E92017BBD5B001C736EFEAFB775C232

ParamStr

string

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

B2F0D4CD7A216D16CE2AF4BBC********29A454FDDD991F919106C12CB89ABA8

Time

string

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

20121227180001165

Carrier

string

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

  • CM:中国移动。

  • CU:中国联通。

  • CT:中国电信。

CM

Format

string

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

  • json

  • jsonp

json

返回参数

名称

类型

描述

示例值

object

AccessDeniedDetail

string

访问被拒绝详细信息。

-

RequestId

string

请求 ID。

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

Message

string

返回状态码描述。

OK

Data

object

返回结果。

OutId

string

外部流水号。

b8b5b3a*******0b9893484fdf412c99

Sign

string

签名值

D2E204D74EEB373E468632********23F592C4C9

Carrier

string

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

  • CM:中国移动。

  • CU:中国联通。

  • CT:中国电信。

CM

Code

string

请求状态码。取值:

  • 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

错误码

错误信息

描述

400 InvalidParameter Invalid parameter. 无效参数
400 AuthCodeIllegal Illegal authCode. 鉴权时使用的authcode不可用于该接口
500 RequestTimeout Request supplier timed out. 请求供应商超时
500 RequestSupplierError Request supplier error. 请求第三方服务异常。

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

变更历史

更多信息,参考变更详情