首页 > 解决方案 > 如何以 URL 编码形式获取用户身份验证令牌并使用 Python 接收 JWT 令牌?

问题描述

我正在尝试通过以 URL 编码形式发布用户名、密码并接收 JWT 令牌来生成用户身份验证令牌。

我尝试过使用有效负载而不是标头和两者,但没有任何效果。我正在使用 Python 3.7。

import requests

headers = {'username':'username', 'password':'password'}
r = requests.post("https://sso.xxxxxx.com/sso-api/v1/token", headers=headers)
print (r)

我预计输出响应200令牌生成成功,但我收到错误响应404

标签: python-3.xpython-requests

解决方案


我能够在 xbound 的提示和帮助下做到这一点。我不得不将它作为数据传递,而不是标题。然后我确认响应没问题并提取了令牌。

import requests
payload = {'username':'*******@*********.com', 'password':'**********', 'grant_type':'password', 'scope':'openid'}
r = requests.post("https://***.******.com/***/**/token", data = payload)

##Confirm that reponse is OK!
r.status_code
print(r.status_code == requests.codes.ok)

##Decode json reponse - token
data = r.json()

##Select token
my_token = data['id_token']

推荐阅读