日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

賬戶同步接入概述

背景介紹

IDaaS 支持自研應用對接,實現(xiàn) IDaaS 到應用的組織/賬戶同步。

若希望實現(xiàn)應用到 IDaaS 的賬戶同步,請參考 應用開發(fā) API 說明

應用同步配置請參考:賬戶同步 - IDaaS 同步到應用。本篇文檔介紹應用按照 IDaaS 規(guī)范完成賬戶同步對接。

  • 一致性依賴:可能有一系列相關方,依賴于您的應用中的身份數(shù)據(jù),進行營銷或驗證,由此希望能夠及時地從 IDaaS 同步賬戶的變化。例如在用戶入職時,在 IDaaS 中創(chuàng)建賬戶,HR 應用需要近乎同時創(chuàng)建賬戶,才不會耽擱入職流程。可以通過訂閱 賬戶創(chuàng)建 事件實現(xiàn)。

  • 實時性要求:您的應用需要及時響應用戶的操作。例如用戶登錄系統(tǒng)后修改了手機后,你的應用需要及時更新該用戶的手機號,可以通過訂閱 賬戶更新 事件實現(xiàn)。

事件回調機制說明

以上是兩個簡單的使用場景,開發(fā)者可以根據(jù)不同需求,訂閱不同的事件,進行不同的處理。

為了滿足客戶的快速對接需求,我們提供了一套由 IDaaS 定義的、集成便捷、傳輸安全的 IDaaS 到應用同步方式,應用可以快速對接,接收同步請求。

這套機制通過事件回調機制實現(xiàn)。

在 IDaaS 中,您需要配置關注的事件(例如賬戶創(chuàng)建),當對應事件觸發(fā)后,將自動向事件訂閱者通過 HTTP POST 發(fā)送同步請求。

事件分為兩個部分:

  • 訂閱事件:在 IDaaS 管理控制臺完成,配置關注的 IDaaS 事件。

  • 接收事件:需要開發(fā)者按照要求,進行對接。

訂閱事件

在 IDaaS 中創(chuàng)建應用后,可以前往【賬戶同步】菜單,進行應用賬戶同步配置。

具體配置方式,請參考賬戶同步 - IDaaS 同步到應用

在下方配置中,您可以勾選當前應用關注的回調事件。

image

當事件發(fā)生時,IDaaS 將向應用發(fā)出請求。

接收回調

當事件發(fā)生時,IDaaS 會向配置的同步接收地址發(fā)送 POST 請求。

請求參數(shù)參考如下:

Content-Type: application/json;charset=utf-8

//IDaaS post 請求body體示例。應用拿到參數(shù)后進行驗簽
{
 "event":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}

所有參數(shù)均在event字段中傳遞,傳遞的內容是包含簽名的 JWT 格式(參考 RFC 7515 JWS),

事件格式

您需要使用各語言的通用開源工具,對 JWT 信息進行解析。

出于測試目的,您也可以將 JWT 格式值粘貼到 https://jwt.io/,以直接查看其包含內容。

event 值包含兩大部分,headerpayload.

header 舉例:

{
    "kid": "KEYH1zR7XLCGcHw1hzhkCqVjnuyaAJUf6yMR",
    "typ": "JWT",
    "alg": "RS256"
}

payload 舉例:

{
  "iss":"urn:alibaba:idaas:app:event", 
  "sub":"idaas-121313", 
  "aud":"app_12131313",
  "exp":1640966400, 
  "iat":1640966400, 
  "jti": "cNetm9OD5bXqfVfdvqGMYw",
  "dataEncrypted":false,
  "cipherData":"",    
  "plainData":{
    "aliUid":1231313,  //阿里云賬號Uid
    "instanceId":"實例ID",  //實例id
    "eventVersion":"V1.0",  //版本號
    "eventData":[
      {
        "eventId":"",     //事件id
        "eventType":"",   //事件類型
        "eventTime":121313,  //事件實際發(fā)生的事件
        "bizId":"業(yè)務數(shù)據(jù)id",  //業(yè)務數(shù)據(jù)id。若是組織,則為組織id
        "bizData":{}       //具體的數(shù)據(jù)詳情,不同事件類型該字段不同。可參考通訊錄事件
      }
    ]   
  }
}

其中包含的字段具體如下:

參數(shù)名稱

參數(shù)位置

參數(shù)類型

參數(shù)說明

header

alg

header

String

固定值:RS256

代表采用SHA-256RSA簽名

kid

header

String

IDaaS 頒發(fā)的公私鑰對 key ID。

驗簽時需要使用該 kid 對應的公鑰。

IDaaS 暫不支持同步用公私鑰輪轉,同步公私鑰信息不會變化。

payload

iss

payload

String

固定值: urn:alibaba:idaas:app:event

代表是由 IDaaS 發(fā)起的事件訂閱通知。

sub

payload

String

客戶的 IDaaS 實例ID

aud

payload

String

客戶的 IDaaS 應用ID

exp

payload

Long

event 的過期時間,單位 ms,默認為創(chuàng)建時間之后 30 分鐘。

若當前時間超過過期時間,應用解析時應該報錯,判斷過期。

iat

payload

Long

event 的創(chuàng)建時間,單位 ms。若當前時間早于創(chuàng)建時間,應用解析時應該報錯,判斷無效。

data_encrypted

payload

Boolean

事件數(shù)據(jù)是否為加密傳輸。

cipher_data

payload

String

開啟加密時不為空。

該字段是加密后密文事件數(shù)據(jù),需解密后查看內容。

plain_data

payload

Object

關閉加密時不為空。

包含所有事件數(shù)據(jù)。

數(shù)據(jù)驗簽

請先對 JWT 驗簽,確認對應 event 事件信息是由 IDaaS 簽發(fā)。若不進行驗證,任何人都將可以仿造請求。

您可以通過同步菜單中的驗簽公鑰端點,獲取到驗簽 JWT 使用的公鑰信息,并使用其對發(fā)送給應用的事件內容進行有效來源驗證。我們推薦您使用對應開發(fā)語言的開源 JWT 工具包進行驗簽工作。不在此贅述。

數(shù)據(jù)解密(可選)

IDaaS 支持對推送的事件數(shù)據(jù)進行加密傳輸,加密后字段將在payloadcipher_data字段傳遞。

{
    ...
    "cipher_data": "ZePq7ckODWnL54vqZc3kTw0vF7tjvIRZjqqy/gZm9oTEt71WMufD9swlmHzZkniSqyDGQpkmMRLCXz9gzRJ4BY2RroLUPQW8ZDPSfmJKEf2m2w6wY1twoRlnHLoFCVhravsvN0afBqmxd3eK5tHd05Ze6MLOXS3fqxqH61dGAm2mwecvAFPRrKVeg6JXBYUvA2Uu6dmCOP3y938kFdhodD13O05MBIqWghq569wYvVjKMFMcnsZqmGGKXN0vRFhg+SR16sr24b1X/gQDbNqyMDICB9k3QMe09dOodwNEwvgxbf1v4PbyCRX1P9UO74nDQaWROWZFplE7qP/JMy3pBr0pxW+hJS9u/Zpvj/hvLlhBTAZkmhAKDKxlrYztqrgJbr4VOUv8mlqxWjDK4I7VZugODJMSwi1HdjXL+wlMzPMOeH8rkDFU+b5VH3dsxg3hZ64Ukd7exB62QyyeIJpfk0d57xw8UACiSsXadexQYpJPDycVdmJ7FAmIhxbJ8I6w9Kcv9U5sKybUz1YA8tONAw=="
    ...
}

開啟該特性后,您可以自主填寫加密密鑰,也可由 IDaaS 生成密鑰。IDaaS 發(fā)出事件回調請求前,會使用該密鑰將請求數(shù)據(jù)全部加密后傳輸。

IDaaS 會使用 AES-256 算法對稱加密,并采用 JWE 格式對事件進行加密。

應用需要使用同樣的密鑰解密,才能獲取同步數(shù)據(jù)。

開發(fā)對接可以參考 Java 應用接入賬戶同步示例

響應返回

應用需負責按照 IDaaS 規(guī)范,返回事件處理結果。IDaaS 將記錄結果,并依照返回信息進行后續(xù)處理。

執(zhí)行成功

若請求處理一切正常,必須返回 eventId 及對應的結果,格式如下:

返回字段

數(shù)據(jù)類型

描述

successEvents

Array

同步成功,返回該事件

skippedEvents

Array

同步跳過(場景舉例:應用接收到刪除賬戶事件,但賬戶在應用系統(tǒng)中已不存在,則可以返回跳過。)

failedEvents

Array

同步失敗,返回該事件

retriedEvents

Array

同步重試,若返回,該事件將重試。最大重試次數(shù)5

-eventId

String

事件 ID,必須返回 IDaaS 當次事件 ID。

不發(fā)送或傳輸錯誤 eventId 將觸發(fā)重試。

-eventCode

String

錯誤碼,IDaaS 將記錄結果,便于排查問題。您可自定義 eventCode。

-eventMessage

String

錯誤描述,IDaaS 將記錄結果原因,便于排查問題。您可自定義 eventMessage。

正常返回結果示例:

{
    "successEvents": [
        {
            "eventId": "事件ID",
            "eventCode": "SUCCESS",
            "eventMessage": "SUCCESS"
        }
    ],
    "skippedEvents": [
        {
            "eventId": "事件ID",
            "eventCode": "跳過code",
            "eventMessage": "跳過描述"
        }
    ],
    "failedEvents": [
        {
            "eventId": "事件ID",
            "eventCode": "錯誤code",
            "eventMessage": "錯誤描述"
        }
    ],
    "retriedEvents": [
        {
            "eventId": "事件ID",
            "eventCode": "錯誤code",
            "eventMessage": "錯誤描述"
        }
    ]
}
重要

收到請求后,需要在 10 秒內以 HTTP 200 狀態(tài)碼響應該請求,否則 IDaaS 會視此次推送失敗并以1s、5s、10s、10s、10s 的間隔重新推送事件,最多重試 5 次。

執(zhí)行失敗

若處理失敗,返回 HTTP 狀態(tài)碼必須是 4XX 或者 5XX。

處理失敗后返回的參數(shù)如下:

參數(shù)名稱

數(shù)據(jù)類型

描述

error

String

錯誤碼

error_description

String

錯誤描述

針對通用,建議參考如下錯誤碼返回:

錯誤碼

HTTP狀態(tài)碼

描述

invalid_token

403

jws token校驗不合法

too_many_request

429

業(yè)務方處理繁忙返回該錯誤后,idaas會進行流控策略進行降級處理

internal_error

500

內部錯誤,idaas會自動重試

異常返回結果示例

{
     "error": "invalid_token",
     "error_description": "jws token校驗不合法"
}