我正在尝试使用某个公司(尚未公开)的API。在他们的文档中,他们列出了令牌请求的格式。以下是令牌请求的文档副本:
POST
https://***.****.com/auth/realms/****/protocol/openid-connec
t/token
Headers:
Content-Type: application/x-www-form-urlencoded
Authorization: Basic {base64-encoded-key-and-secret}
Body: grant_type:client_credentials
授权密钥由他们提供给我,格式为'Basic a3RhdmlfdG...'
我正在尝试在python中写一个Post请求,我遇到了问题,我不确定这是我的错还是他们的开发人员错。这是我的代码:
url = 'https://***.****.com/auth/realms/****/protocol/openid-connect/token'
headers = {'Content-Type':'application/x-www-urlencoded', 'Authorization':'Basic a3RhdmlfdG...'}
body = {'grant_type':'client_credentials'}
response = requests.post(url = url, data = json.dumps(body), headers = headers)
print response
在response = ...
我遇到SSL: CERTIFICATE_VERIFY_FAILED
错误的行。我也尝试将标题中的值更改为随机值,我得到相同的错误。我可以想到三种可能性,
我错过了我必须通过邮寄请求发送的证书
这是其中一个问题还是其他问题?
答案 0 :(得分:2)
他们可能正在使用自签名证书。您可以通过添加'verify = False'来绕过验证检查。我会在去生产之前删除它。 SSL证书的有效性非常重要。
replicate