一、TUTK服務(wù)第三方認(rèn)證核心邏輯
TUTK服務(wù)在使用前,需驗證用戶是否有權(quán)使用該服務(wù),核心邏輯如下:
1. TUTK服務(wù)API必須包含服務(wù)所需的域(realm)及其他必要參數(shù);
2. TUTK服務(wù)需預(yù)設(shè)"realm(領(lǐng)域)"與"驗證API"的映射關(guān)系;
3. "validation"為自定義驗證數(shù)據(jù),若為二進(jìn)制數(shù)據(jù)需進(jìn)行base64編碼;
4. 當(dāng)TUTK服務(wù)需要驗證用戶時,根據(jù)"realm"調(diào)用對應(yīng)的驗證API,并將"validation"傳遞給第三方服務(wù)器;
5. 僅當(dāng)?shù)谌津炞C服務(wù)返回200狀態(tài)碼時,用戶方可使用服務(wù)。
2. TUTK服務(wù)需預(yù)設(shè)"realm(領(lǐng)域)"與"驗證API"的映射關(guān)系;
3. "validation"為自定義驗證數(shù)據(jù),若為二進(jìn)制數(shù)據(jù)需進(jìn)行base64編碼;
4. 當(dāng)TUTK服務(wù)需要驗證用戶時,根據(jù)"realm"調(diào)用對應(yīng)的驗證API,并將"validation"傳遞給第三方服務(wù)器;
5. 僅當(dāng)?shù)谌津炞C服務(wù)返回200狀態(tài)碼時,用戶方可使用服務(wù)。
(一)驗證流程示意圖

(二)驗證接口定義
1. 接口請求信息
| 請求項 | 具體說明 |
|---|---|
| 請求方法 | POST |
| 請求地址 | https://3rd-party-service-domain/{api}({api}由第三方自定義) |
| 請求頭 | Content-Type: application/jsonAuthorization: {authType} {authToken} |
2. 請求參數(shù)說明
| 參數(shù)位置 | 參數(shù)名 | 類型 | 是否必填 | 說明 |
|---|---|---|---|---|
| 請求頭 | authToken | String | 是 | 需要驗證的token |
authType | String | 是 | token類型(如JWT、Bearer等) | |
| 請求體 | validation | String | 是 | 自定義驗證數(shù)據(jù),二進(jìn)制數(shù)據(jù)需base64編碼,驗證者需解碼后校驗 |
| 請求體 | 可選參數(shù) | - | 否 | 無 |
3. 響應(yīng)參數(shù)說明
| 響應(yīng)類型 | 參數(shù)名/狀態(tài)碼 | 類型 | 是否必填 | 說明 |
|---|---|---|---|---|
| 響應(yīng)體(200狀態(tài)) | validateId | String | 是 | 驗證服務(wù)器確認(rèn)用戶有效的標(biāo)識 |
extraInfo | String | 否 | 服務(wù)調(diào)用方可用的額外信息 | |
| 狀態(tài)碼 | 200 | - | - | 用戶合法,驗證通過 |
| 狀態(tài)碼 | 401 | - | - | 用戶非法,驗證失?。o響應(yīng)體) |
(三)請求與響應(yīng)示例
1. 驗證請求示例(curl)
第三方認(rèn)證驗證請求(curl命令)
// 驗證請求curl示例
curl -XPOST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer thisisthetoken' \
-d '{
"validation": "SSEEDDGGEEDSSaasllkiiksie"
}' \
https://3rd-party-service-domain/{api}
2. 驗證響應(yīng)示例
合法用戶響應(yīng)(HTTP 200)
{
"validateId": "123456767889",
"extraInfo": "extraInfo"
}
注意事項
validation參數(shù)若為二進(jìn)制數(shù)據(jù),必須先進(jìn)行base64編碼,第三方驗證服務(wù)器需解碼后再校驗;- TUTK服務(wù)需提前配置realm與第三方驗證API的映射關(guān)系,確保驗證請求能準(zhǔn)確路由;
- 僅當(dāng)?shù)谌津炞C返回
200狀態(tài)碼時,視為驗證通過,其他狀態(tài)碼均視為驗證失?。?/li> - 接口請求地址中的
{api}由第三方自定義,需在realm映射配置中明確對應(yīng)關(guān)系; - Authorization請求頭格式固定為"authType + 空格 + authToken",不可省略空格。
