python - Python Token请求不同大小
问题描述
我正在尝试使用令牌(OAuth2)为 API 制作身份验证代码。我遇到的问题是 API 给了我一个长度为 664 的令牌,这是无效的,当我尝试使用该令牌访问其他 API 时,我收到错误 403。出于某种奇怪的原因,当我通过 Postman 进行调用时为了得到那个令牌,它给了我一个更长的令牌,如果我使用邮递员在我的代码中给我的那个令牌,我可以毫无问题地访问 API,似乎由于某种原因我的 python 代码正在截断令牌(?) .
这是我的代码:
def get_auth_token(url):
"""
get an auth token
"""
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
data = {
'grant_type': 'client_credentials',
'username': "john.doe",
'password': "yuppy_duppy.*",
'audience': 'https://website-token.com',
'scope' : '',
'client_id' : 'foo-api-client',
'client_secret': 'bEeuADqpubMoPos6eLYd6UEMx'
}
try:
response = requests.post(url, headers=headers, data=data)
response.raise_for_status()
token = response.json()['access_token']
print(response.raw)
return token
except requests.exceptions.HTTPError as errh:
print(errh)
except requests.exceptions.ConnectionError as errc:
print(errc)
except requests.exceptions.Timeout as errt:
print(errt)
except requests.exceptions.RequestException as err:
print(err)
token = get_auth_token('https://url-to-request-token.com/token')
head = {'Authorization': "Bearer " + token}
request_result = requests.get(URL_ZOOM, headers=head)
print(request_result.status_code)
和状态码结果:
>> 403
我根据我的呼叫参数验证了 Postman 中的呼叫请求,它们根本没有区别。
Postman 给我一个有效令牌而我对服务器的请求给我一个无效令牌的原因可能是什么?
解决方案
推荐阅读
- json - sed/awk:仅当前面有一个特定的非空白字符时,才用另一个字符替换所有出现的字符
- python - Python AIOHTTP.web 服务器多处理负载平衡器?
- amazon-web-services - 当我不通过 SSL/TLS 连接时,为什么 Amazon RDS 会显示证书颁发机构?
- angularjs - 在 Angular JS 中,有没有办法在不使用 scope.watch 的情况下监视 DOM 的变化?
- python - 更改 HTML 文本并保存回 HTML
- python-2.7 - 正斜杠在本地环境中被忽略,但在全局环境中不被忽略
- mysql - MySQL 服务器的高 CPU 使用率
- numpy - PyTorch - 到 NumPy 产生未调整大小的对象?
- python - 我可以在 WordNet 中保存引理的原始共轭吗?
- sql - Oracle SQL 过滤两个日期之间的结果,但只显示一个时间范围内的记录