本地coze调试
python,获取jwt
# You must run `pip install PyJWT cryptography` to install the PyJWT and the cryptography packages in order to use this script.
#!/usr/bin/env python3
import sys
import time
import uuid
import jwt
# 替换为你的实际 Coze App 私钥
signing_key = '''
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCwBXfwZN8soDCr
ifkjyh7ExPdgQf/hNK0d9Cothkrkk/x2Ba9/yE46+qn5pmrN6+HwHaakN8Tlr2rv
YTDP0VaHRkP72PIVkKp4lyQMS6RJdXi6BWIXUbx0FqE46Wg1OQubSK9OjVhGnQD5
Zi3Ca1srJmBuUkvzVJMJs90XyheaS3cmolpcjSMyBnboCvyay4TpSX8vBFaJLqiW
v2C2Vk5+Q5znsTWgashU1d40jE/Lf3hpJq8fV1R0Ks5e7gNl8ntTgX9WzV5rLsS6
MTAwjGSW1BRhj+L4bwP08NA6LPrw0cWY+6kX/YMij+4CGciRagHTdvGmATM5QlVj
WCIJutULAgMBAAECggEAPOnPjU3jG4beAObw5E1EY5TEBLgiTDWV+SkvVWzFSx/Z
PKCQELjpNajcHIxWJqfMGvOv4OF5zoBrkaaBJVHMz2hmC2gSsprLG4s2Stj8Y/12
h21oeihrfoL8TP0c9lok5Zp8LENmup0HoscU69SKCr8vnM33AaCRd8iaKOrjSx3h
v/8ezvUipdWih7KsZW/DNt2ENf1zZ/CzKtR/QgJX7FAuBoxpPSLwytj0MVBBdoIy
pTHHUbdfoHhWybP7EBzDfmrfpajXGGcNgPojSMUmDWee1nQqnkYCssHljy60e6AF
ckZXloOrXkktZUT5fZGPfCWIwQDjSKR4AkPZ+tv9TQKBgQDsEbqoILYyJxsdgIwj
NCjezmVDqiKLpO70PzzZRUxN9KtUOFRVhij4Ty02e4ySI22DALf5VANYg+NRDqBB
Spy4NwRLqMTtmtR2PlXh2oow4vmoNCNIIipNg7bWcnEKXsCz8oxyHaqv14ZQ1Dzc
KZQ4iU5/wO/sD8ux6huX0uVyZwKBgQC+4eW0xcmdfzPKLRuBP4hqGotuW+IWUrQl
vl+CBfwxPJJno5clIdLPVI6nR4eaOh1VvRXrtFmHNsbylkjcq+BVsRC1i3QChM1l
tT3rFBEDcmkhbHL/nsEAjICPV3mGyiCLKjFcDGAW+wBclID1nDn8oStRmaWeN90c
zAzre9pJvQKBgBLfC/PawZXayHEgUJOT3NyK1U+Gb0KIic2erIeV4Zatw3B1HFDF
68qF0dB0KfWYvW1mhk55J9dQm8BkEe2GQGb9huthb3SrFubo7saiSL/FtT18BYID
sSwHJnuYJG82yeLYtd99faKW8RbPEJps/HtUhqDx1Hwjex4a39/QLSVrAoGALKNr
MnEmivxaQid2TS1sW1PF05MNNic1FbaFY0S/C0yc+DubdwWH5RBjI99oaLq6bXiA
jdRpM2Ot9sEKXQCcv61euPXZtVUVK3nM9xKEQAgbacOQyRJ5FAXHcr4EH29ZWPIP
BPWn6vfbx8q6tbVJIjkWhkimIG/z924If3FBRQkCgYEA5RuRk18x8jyNcmkZmZrn
1YdfDehHySmQeaNW6NHXCxIMZc0XYR3SS6OYBostHva30SOD+bAmzdfiq/XLNe0k
TXO6oyBY/eF5vqUjD6VXCGKWMalT61ZThOkxP5bozxhnbyTFlH3X/7DuFdWTESnY
2Fk5fedRz9MbpUiAiBoytDQ=
-----END PRIVATE KEY-----'''
payload = {
'iat': int(time.time()),
'exp': int(time.time()) + 6000,
"jti": str(uuid.uuid4()),
'aud': 'api.coze.cn', # 替换为实际的coze api domain
'iss': '1180749976336' # 替换为你的实际 Coze App ID
}
headers = {
'kid': 'EtIMcN9Si2XfldhDaVahX2DLXJyxbH2rl4gxIXSyxq0' # 替换为你的实际 Coze App 公钥指纹
}
# Create JWT with headers
encoded_jwt = jwt.encode(payload, signing_key, algorithm='RS256', headers=headers)
print(f"JWT: {encoded_jwt}")
基于分布设计参数
curl --location 'https://api.coze.cn/api/permission/oauth2/token' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6InFZYzJvM2dncUVUbWMxVG1kRGRNM3hoMGk1dWFQSDJubjIzQ2hWQ3VncjAiLCJ0eXAiOiJKV1QifQ.eyJpYXQiOjE3NTYxNzg2NzYsImV4cCI6MTc1NjE4NDY3NiwianRpIjoiOTJhMDJjYzEtMTc5Ny00ZTMwLThlYzEtZjEyOWFjMjhkMDFmIiwiYXVkIjoiYXBpLmNvemUuY24iLCJpc3MiOiIxMTExMjAzMTMxMTg4In0.pzpl1vQbN_6x3oidUd_IbQRJ1gqC8soyBOdNX9370DBPR6oXTdsQCv6d3zTAgf17mLQfTuWb6co3yPTjbb4YZG62AWzazPoDjKCYBtPYsD-2lvy2wIcC2miIdE9RL_bc2mcmhV137HwFgLOwa_NG79tgJTPYPN1BIwhxFYt74wdgeKH8mpyNiXrrd6wJv_AtFXDn7lk3wxWGqXuG3YXn8Wrfw9ui_5XN7IVoJuOwZ3c6rvGBjDhWT3rBhP57a14LHHepZsE_rNxyUhiqWGTw__YMa0kD6UqbUSiJNV7CHkltCSd487lxukzXyqOtvhSoHqSTlqYeHwHcm-B2pRgLXg' \
--data '{
"duration_seconds": 86399,
"grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer"
}'
curl --location 'https://api.coze.cn/api/permission/oauth2/token' \
--header 'Content-Type: application/json' \
--header $accesstoken\
--data '{
"duration_seconds": 86399,
"grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer"
}'
分布1:
$accesstoken = "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IkV0SU1jTjlTaTJYZmxkaERhVmFoWDJETFhKeXhiSDJybDRneElYU3l4cTAiLCJ0eXAiOiJKV1QifQ.eyJpYXQiOjE3NTYyMTU1MjgsImV4cCI6MTc1NjIyMTUyOCwianRpIjoiZGFkZDZlMWUtOGU3ZS00YTIxLWI1MzYtODg4MTA5Mjg1NmI2IiwiYXVkIjoiYXBpLmNvemUuY24iLCJpc3MiOiIxMTgwNzQ5OTc2MzM2In0.mApDB4UmsYp0kltKMYtijbdxDjqKTB2oS6sxgJgkPibXFbzwJkXVZzLBZHFLBna8vqMjcRiVLOaY3Ibg_kFVosZGY_d2BymwCLOM3E5tPXAZh83v2EDlx2FAQod1a9F1Ngq-wsCxaH6lwKmKcmi-9IOLSvj7BqL9qe1NaBpDXokc88zjjT4AfGPYmJ-Io7mVpUxZSjzUHGxIawe6i79ETF6Dp8S0VBMhs0RhZkEdpnYBNeZcQDfb6EBwrCDsKXPmMzm_KumhLNb1d6Gcfi3PUzw3YiJKWAvW3JqFuAD3E0K4kLJn7Vq-h9SUyIQ4bdncZWMhJLkAlg8NfynVv5BxOQ"
2
$uri = "https://api.coze.cn/api/permission/oauth2/token"
3
$headers = @{ "Content-Type" = "application/json" "Authorization" = $accesstoken }
4
$body = @{ duration_seconds = 86399 grant_type = "urn:ietf:params:oauth:grant-type:jwt-bearer" } | ConvertTo-Json
5
try { $response = Invoke-RestMethod -Uri $uri -Method Post -Headers $headers -Body $body Write-Output $response } catch { Write-Error "请求失败: $($_.Exception.Message)" if ($_.Exception.Response) { $responseStream = $_.Exception.Response.GetResponseStream() $reader = New-Object System.IO.StreamReader($responseStream) $responseBody = $reader.ReadToEnd() Write-Output "响应详情: $responseBody" } }