我有一個.pem包含我的私鑰的檔案,我需要將其作為授權標頭傳遞。
我試過只使用命令,$(cat $REPO_ROOT/pulsar/tls/broker/broker.key.pem)但我得到了回應:<h1>Bad Message 400</h1><pre>reason: Illegal character LF=\n</pre>0
我不能將我的內容.pem直接傳遞到標題中嗎?
CLUSTER=standalone
TENANT=sandbox
NAMESPACE=integration_test
AUTHORIZATION=$(cat $REPO_ROOT/pulsar/tls/broker/broker.key.pem)
# Create tenant
curl -L -X PUT "http://localhost:$HOST_PULSAR_PORT/admin/v2/tenants/$TENANT" \
--header "Authorization: Bearer $AUTHORIZATION" \
--header 'Content-Type: application/json' \
--data-raw "{\"allowedClusters\": [\"$CLUSTER\"]}"
uj5u.com熱心網友回復:
私鑰需要小心保護。您永遠不必在 HTTP 標頭中傳遞它。
對于 Pulsar,您應該使用私鑰生成 JWT 令牌以在 HTTP 標頭中使用。您可以使用以下命令:
bin/pulsar tokens create --private-key file:///path/to/my-private.key \
--subject test-user
令牌的主題應該與 Pulsar 租戶或命名空間上的授權角色相匹配。有關更多詳細資訊,請參閱https://pulsar.apache.org/docs/en/security-token-admin/
uj5u.com熱心網友回復:
私鑰永遠不會作為 Web 請求中的標頭發送。也許是公鑰。
當您嘗試發送此內容時:
Authorization: Bearer $AUTHORIZATION
我懷疑你應該發送一個簽名的 JWT 令牌?
此外,您嘗試發送一個也不匹配的 pem 檔案,作為 application/json。pem 檔案通常是多行資料結構,需要對其進行編碼才能在標頭中發送。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/392353.html
上一篇:使用awk分析日志檔案
