簡體   English   中英

在 API Header 中創建參數 WSO2

[英]Create parameters in API Header in WSO2

我在 WSO2 工作室集成器中創建了一個 API,如下所示:

curl --location --request POST 'http://localhost:8290/internal/send-messages'
--header '接受:文本/純文本'
--header 'Content-Type: application/json'
--data-raw '{ "bankName": "heere", "uniqueIdentifier": "445334564" }'

要將請求(從該 API 接收到)傳遞到端點,我需要將以下兩個參數添加到 API Header

--header 'MasterName: TOMSON'
--header 'clientName: TOM' \

TOMSON 值是唯一的(靜態的)並且不會因任何用戶而改變。 然而,TOM 將根據 API Manager 提供的應用程序用戶名進行更改(有 OATH2 身份驗證)。

  1. 如何在向端點發送時將 static header(如 MasterName)添加到 API

  2. 我如何理解應用程序的用戶名?

  1. 您可以使用 header 中介 [1] 添加 static header。
    <header name="MasterName" value="TOMSON" scope="transport"/>

  2. 要從 API Manager 獲取應用程序信息,您可以啟用后端 JWT[2]。 這將是一個 JWT,其中包含有關該請求的更多信息。 通過在后端解碼這個[3] JWT,可以得到聲明為http://wso2.org/claims/applicationname的應用信息。

[1] - https://ei.docs.wso2.com/en/latest/micro-integrator/references/mediators/header-Mediator/
[2] - https://apim.docs.wso2.com/en/latest/deploy-and-publish/deploy-on-gateway/api-gateway/passing-enduser-attributes-to-the-backend-via- api網關/
[3] - WSO2 解碼JWT

您可以使用header 調解器添加標頭

例如

<header name="miCustomHeader" value="ThisIsTheWay" scope="transport"/>

<send>
    <endpoint>
        <address uri="https://someRandomURL"/>
    </endpoint>
</send>

它會將miCustomHeader及其值發送到端點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM