該API僅提供三網運營商獲取UAID能力中,獲取授權Token環節的簽名功能。
接口說明
該 API 僅提供三網運營商獲取 UAID 能力中,獲取授權 Token 環節的簽名功能。
- 獲取授權 Token 的其他必要參數,請參考對應運營商文檔自行生成
- 獲取授權 Token 的請求,請參考對應運營商文檔,注意需要從用戶移動終端的蜂窩移動網絡環境下請求
- 獲取授權 Token 請求后,請參考 UAIDVerification 接口進行最終的 UAID 獲取。
如何通過客戶端/H5 方式請求授權 Token
移動(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¶mKey=1D7C25EB8B0B8B4CB3CF8DC60628F6549********786B0AF1FEF93FA1335057A35BF5F0B39A3867EAA9BE14B3898********8B01DE34965060445B6E1F66401D714650E4AB161CD6DCF4A72********3B856F22A192B8B0C39D7A55B961062E68C89C928894F119B25********7C548355FE9DB82852EB93C939F2200B48CD17¶mStr=140********95AF8E138B94754CB4CF83BA6FB********52B258BFDFD38BF233&version=1.1
參數描述:
- appId:使用
9390188202
- clientType:客戶端類型,對應該 API 下方入參
ClientType
的內容,兩者需要保持一致 - format:使用
json
或jsonp
- 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 | 是 | 客戶端類型。
| 30300 |
ParamKey | string | 否 | 運營商為電信(CT)時必傳,具體參考電信運營商文檔。 | 955EC1A869852EA8BC66F********D7C6E92017BBD5B001C736EFEAFB775C232 |
ParamStr | string | 否 | 運營商為電信(CT)時必傳,具體參考電信運營商文檔。 | B2F0D4CD7A216D16CE2AF4BBC********29A454FDDD991F919106C12CB89ABA8 |
Time | string | 是 | 事件發生的時間戳,精確到毫秒。 | 20121227180001165 |
Carrier | string | 是 | 用戶所處的運營商。取值:
| CM |
Format | string | 否 | 請求方式,運營商為電信(CT)時必傳。 取值:
| json |
返回參數
示例
正常返回示例
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. | 請求第三方服務異常。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|